[FEATURE] Add project name argument to init command: `claude init <project-name>`

Status Closed — not planned
Maintainer reply None cached
Activity 2 comments · opened Jan 13, 2026 · closed Feb 26, 2026

Feature Request

Description

Add support for an optional project name argument to the init command, similar to how npm init <project-name> or cargo new <project-name> work.

Proposed Usage

claude init my-project

This would:

  1. Create a new directory called my-project/
  2. Change into that directory
  3. Run the standard init workflow (create CLAUDE.md, etc.)

Current Behavior

Currently, claude must be run from an existing directory. Users who want to start a new project must manually:

  1. mkdir my-project
  2. cd my-project
  3. claude (and then use /init)

Proposed Behavior

claude init my-project
# Creates my-project/ directory
# Initializes Claude Code context
# Optionally starts interactive session in new directory

Additional Options (Optional Enhancements)

  • claude init my-project --template <template> - Start with a predefined template
  • claude init my-project --no-interactive - Just create the structure without starting a session

Use Case

This streamlines the workflow for developers starting new projects with Claude Code, matching the ergonomics of other CLI tools like:

  • npm init <project-name>
  • cargo new <project-name>
  • go mod init <project-name>
  • poetry new <project-name>

Workaround

A plugin-based /new-project command can provide this functionality as a workaround (PR forthcoming).

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗