NextCLI CLI
The NextCLI CLI (cn) is a customizable command line coding agent.

Installation
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/nextcli-dev/nextcli/main/extensions/cli/scripts/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/nextcli-dev/nextcli/main/extensions/cli/scripts/install.ps1 | iex
Or install with npm if you have Node.js 20+:
npm i -g @nextcli/cli
Usage
cn
Headless Mode
Headless mode (-p flag) runs without an interactive terminal UI, making it perfect for:
- Scripts and automation
- CI/CD pipelines
- Docker containers
- VS Code extension integration
- Environments without a TTY
# Basic usage
cn -p "Generate a conventional commit name for the current git changes."
# With piped input
echo "Review this code" | cn -p
# JSON output for scripting
cn -p "Analyze the code" --format json
# Silent mode (strips thinking tags)
cn -p "Write a README" --silent
TTY-less Environments: Headless mode is designed to work in environments without a terminal (TTY), such as when called from the VS Code extension using terminal commands. The CLI will not attempt to read stdin or initialize the interactive UI when running in headless mode with a supplied prompt.
Command safety in headless mode: headless mode runs Bash commands without asking. Two kinds of command are still refused:
- Commands that would destroy the system, a home directory or a disk (
rm -rf /,rm -rf ~,find / -delete,wipefs -a) never run, in any mode. - Broad deletes (a top-level directory such as
/tmp, a path the CLI can't resolve, such asrm -rf $DIR) need a person. The interactive CLI asks first; headless mode refuses them.
These checks read the command text, so they are best-effort: a command can always hide what it deletes. For untrusted prompts or repositories, run cn -p in a container or sandbox, and restrict Bash in ~/.continue/permissions.yaml.
Session Management
The CLI automatically saves your chat history for each terminal session. You can resume where you left off:
# Resume the last session in this terminal
cn --resume
# List recent sessions and choose one to resume
cn ls
# List sessions in JSON format (for scripting)
cn ls --json
Command Line Options
-p: Run in headless mode (no TUI)--config <path>: Specify agent configuration path--resume: Resume the last session for this terminal<prompt>: Optional prompt to start with
Environment Variables
CONTINUE_CLI_DISABLE_COMMIT_SIGNATURE: Disable adding the Continue commit signature to generated commit messagesFORCE_NO_TTY: Force TTY-less mode, prevents stdin reading (useful for testing and automation)
Commands
cn: Start an interactive chat sessioncn ls: List recent sessions with TUI selector to choose one to resumecn login: Authenticate with Continuecn logout: Sign out of current sessioncn remote: Launch a remote instancecn serve: Start HTTP server mode
Session Listing (cn ls)
Shows recent sessions, limited by screen height to ensure it fits on your terminal.
--json: Output in JSON format for scripting (always shows 10 sessions)
TTY-less Support
The CLI fully supports running in environments without a TTY (terminal):
# From Docker without TTY allocation
docker run --rm my-image cn -p "Generate docs"
# From CI/CD pipeline
cn -p "Review changes" --format json
# From the VS Code extension terminal tool
cn -p "Analyze code" --silent
The CLI automatically detects TTY-less environments and adjusts its behavior:
- Skips stdin reading when a prompt is supplied
- Disables interactive UI components
- Ensures clean stdout/stderr output
For more details, see spec/tty-less-support.md.