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

Resolved 💬 2 comments Opened Jan 13, 2026 by deerdear 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 ↗