Skip to content

CLI

Ishi CLI options and commands.

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

Terminal window
ishi

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

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

tui

Start the Ishi 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 Ishi CLI also has the following commands.


agent

Manage agents for Ishi.

Terminal window
ishi agent [command]

create

Create a new agent with custom configuration.

Terminal window
ishi 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
ishi auth [command]

login

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

Terminal window
ishi auth login

When Ishi 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
ishi auth list

Or the short version.

Terminal window
ishi auth ls

logout

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

Terminal window
ishi auth logout

github

Manage the GitHub agent for repository automation.

Terminal window
ishi github [command]

install

Install the GitHub agent in your repository.

Terminal window
ishi 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
ishi 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
ishi 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
ishi 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 Ishi.

Terminal window
ishi models --refresh

run

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

Terminal window
ishi run [message..]

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

Terminal window
ishi run Explain the use of context in Go

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

Terminal window
# Start a headless server in one terminal
ishi serve
# In another terminal, run commands that attach to it
ishi 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 ishi server (e.g., http://localhost:4096)
--portPort for the local server (defaults to random port)

serve

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

Terminal window
ishi serve

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

Flags

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

upgrade

Updates ishi to the latest version or a specific version.

Terminal window
ishi upgrade [target]

To upgrade to the latest version.

Terminal window
ishi upgrade

To upgrade to a specific version.

Terminal window
ishi upgrade v0.1.48

Flags

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

Global Flags

The ishi 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

Ishi can be configured using environment variables.

VariableTypeDescription
CLAW_AUTO_SHAREbooleanAutomatically share sessions
CLAW_GIT_BASH_PATHstringPath to Git Bash executable on Windows
ISHI_CONFIGstringPath to config file
ISHI_CONFIG_DIRstringPath to config directory
ISHI_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
ISHI_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

Last updated: