Skip to content

CLI

Claw CLI options and commands.

The Claw CLI by default starts the TUI when run without any arguments.

Terminal window
claw

But it also accepts commands as documented on this page. This allows you to interact with Claw programmatically.

Terminal window
claw run "Explain how closures work in JavaScript"

tui

Start the Claw terminal user interface.

Terminal window
claw [project]

Flags

FlagShortDescription
--continue-cContinue the last session
--session-sSession ID to continue
--prompt-pPrompt to use
--model-mModel to use in the form of provider/model
--agentAgent to use
--portPort to listen on
--hostnameHostname to listen on

Commands

The Claw CLI also has the following commands.


agent

Manage agents for Claw.

Terminal window
claw agent [command]

create

Create a new agent with custom configuration.

Terminal window
claw agent create

This command will guide you through creating a new agent with a custom system prompt and tool configuration.


auth

Command to manage credentials and login for providers.

Terminal window
claw auth [command]

login

Claw is powered by the provider list at Models.dev, so you can use claw auth login to configure API keys for any provider you’d like to use. This is stored in ~/.local/share/claw/auth.json.

Terminal window
claw auth login

When Claw starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a .env file in your project.


list

Lists all the authenticated providers as stored in the credentials file.

Terminal window
claw auth list

Or the short version.

Terminal window
claw auth ls

logout

Logs you out of a provider by clearing it from the credentials file.

Terminal window
claw auth logout

github

Manage the GitHub agent for repository automation.

Terminal window
claw github [command]

install

Install the GitHub agent in your repository.

Terminal window
claw github install

This sets up the necessary GitHub Actions workflow and guides you through the configuration process. Learn more.


run

Run the GitHub agent. This is typically used in GitHub Actions.

Terminal window
claw github run
Flags
FlagDescription
--eventGitHub mock event to run the agent for
--tokenGitHub personal access token

models

List all available models from configured providers.

Terminal window
claw models [provider]

This command displays all models available across your configured providers in the format provider/model.

This is useful for figuring out the exact model name to use in your config.

You can optionally pass a provider ID to filter models by that provider.

Terminal window
claw models anthropic

Flags

FlagDescription
--refreshRefresh the models cache from models.dev
--verboseUse more verbose model output (includes metadata like costs)

Use the --refresh flag to update the cached model list. This is useful when new models have been added to a provider and you want to see them in Claw.

Terminal window
claw models --refresh

run

Run claw in non-interactive mode by passing a prompt directly.

Terminal window
claw run [message..]

This is useful for scripting, automation, or when you want a quick answer without launching the full TUI. For example.

Terminal window
claw run Explain the use of context in Go

You can also attach to a running claw serve instance to avoid MCP server cold boot times on every run:

Terminal window
# Start a headless server in one terminal
claw serve
# In another terminal, run commands that attach to it
claw run --attach http://localhost:4096 "Explain async/await in JavaScript"

Flags

FlagShortDescription
--commandThe command to run, use message for args
--continue-cContinue the last session
--session-sSession ID to continue
--shareShare the session
--model-mModel to use in the form of provider/model
--agentAgent to use
--file-fFile(s) to attach to message
--formatFormat: default (formatted) or json (raw JSON events)
--titleTitle for the session (uses truncated prompt if no value provided)
--attachAttach to a running claw server (e.g., http://localhost:4096)
--portPort for the local server (defaults to random port)

serve

Start a headless claw server for API access. Check out the server docs for the full HTTP interface.

Terminal window
claw serve

This starts an HTTP server that provides API access to claw functionality without the TUI interface.

Flags

FlagShortDescription
--port-pPort to listen on
--hostnameHostname to listen on

upgrade

Updates claw to the latest version or a specific version.

Terminal window
claw upgrade [target]

To upgrade to the latest version.

Terminal window
claw upgrade

To upgrade to a specific version.

Terminal window
claw upgrade v0.1.48

Flags

FlagShortDescription
--method-mThe installation method that was used; curl, npm, pnpm, bun, brew

Global Flags

The claw CLI takes the following global flags.

FlagShortDescription
--help-hDisplay help
--version-vPrint version number
--print-logsPrint logs to stderr
--log-levelLog level (DEBUG, INFO, WARN, ERROR)

Environment variables

Claw can be configured using environment variables.

VariableTypeDescription
CLAW_AUTO_SHAREbooleanAutomatically share sessions
CLAW_GIT_BASH_PATHstringPath to Git Bash executable on Windows
CLAW_CONFIGstringPath to config file
CLAW_CONFIG_DIRstringPath to config directory
CLAW_CONFIG_CONTENTstringInline json config content
CLAW_DISABLE_AUTOUPDATEbooleanDisable automatic update checks
CLAW_DISABLE_PRUNEbooleanDisable pruning of old data
CLAW_DISABLE_TERMINAL_TITLEbooleanDisable automatic terminal title updates
CLAW_PERMISSIONstringInlined json permissions config
CLAW_DISABLE_DEFAULT_PLUGINSbooleanDisable default plugins
CLAW_DISABLE_LSP_DOWNLOADbooleanDisable automatic LSP server downloads
CLAW_ENABLE_EXPERIMENTAL_MODELSbooleanEnable experimental models
CLAW_DISABLE_AUTOCOMPACTbooleanDisable automatic context compaction
CLAW_CLIENTstringClient identifier (defaults to cli)
CLAW_ENABLE_EXAbooleanEnable Exa web search tools

Experimental

These environment variables enable experimental features that may change or be removed.

VariableTypeDescription
CLAW_EXPERIMENTALbooleanEnable all experimental features
CLAW_EXPERIMENTAL_ICON_DISCOVERYbooleanEnable icon discovery
CLAW_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanDisable copy on select in TUI
CLAW_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTHnumberMax output length for bash commands
CLAW_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberDefault timeout for bash commands in ms
CLAW_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberMax output tokens for LLM responses
CLAW_EXPERIMENTAL_FILEWATCHERbooleanEnable file watcher for entire dir
CLAW_EXPERIMENTAL_OXFMTbooleanEnable oxfmt formatter