Skip to content

CLI

The wisp executable selects an interface from its arguments and terminal state. Run wisp --help or any command with --help for the installed version's generated help.

Invocation modes

CommandBehavior
wispLaunch the Textual TUI when stdin and stdout are interactive
wisp tuiLaunch the dedicated Textual TUI command
wisp tui --lineLaunch the simple line renderer
wisp -p "PROMPT"Run one prompt and print assistant text
wisp -p "PROMPT" --mode jsonEmit one typed WispEvent JSON object per line
wisp --mode rpcStart the long-lived JSONL RPC command host
wisp --mode tui --tui-renderer RENDERERCompatibility TUI entry point (line, fullscreen, or textual)

A prompt is invalid with --mode rpc or --mode tui. A non-interactive invocation with neither a prompt nor an explicit RPC/TUI mode prints help and exits.

Top-level options

These options configure bare TUI, print, JSON, RPC, and compatibility TUI invocations. Options for the dedicated wisp tui command are listed separately below.

OptionMeaningEnvironment equivalent
--versionPrint wisp VERSION and exit
-p, --prompt TEXTRun one prompt and exit
--provider NAMESelect a provider such as openai-codex, deepseek, anthropic, or fakeWISP_PROVIDER
--model NAMEOverride the selected provider's modelWISP_MODEL
--session-dir PATHStore and resolve JSONL sessions in this directoryWISP_SESSION_DIR
--auth-file PATHUse this private provider credential fileWISP_AUTH_FILE
--mode text|json|rpc|tuiSelect the output/interface modeWISP_MODE (only without --prompt)
--tui-renderer line|fullscreen|textualRenderer for --mode tuiWISP_TUI_RENDERER
--all-tools, --no-all-toolsExpose or withhold the full tool registry; TUI modes default on, other modes off
--allow-read-tools, --no-allow-read-toolsExpose sandboxed read-only tools
--allow-tool NAMEExpose one named tool; repeat for multiple tools
--resume SESSIONContinue by JSONL path, filename, session id, or unique id prefix
--continueContinue the newest session in the selected session directory
--yes, --allow-unsafe-tool-executionPre-approve mutating and command tools
--max-tool-iterations NCap model/tool rounds; omitted means uncapped
--helpShow generated help and exit

WISP_MODE supplies a default only when the invocation has neither an explicit --mode nor -p/--prompt. Prompt invocations keep text mode unless --mode json is passed explicitly; for example, WISP_MODE=json wisp -p "hello" does not select JSON output.

Explicit command-line values override their environment and settings-file equivalents. --resume and --continue are mutually exclusive, and --max-tool-iterations must be zero or greater.

Tool exposure and tool approval are separate. Exposing a mutating or command tool does not approve it; without --yes, Wisp asks in interactive modes and blocks unsafe execution in non-interactive modes. See Tools & safety.

wisp tui

wisp tui defaults to the Textual renderer and the full tool registry.

OptionMeaning
--lineUse the simple line renderer instead of Textual
--session-dir PATHOverride the JSONL session directory
--auth-file PATHOverride the provider auth file
--all-tools, --no-all-toolsExpose or withhold the full tool registry
--allow-read-tools, --no-allow-read-toolsExpose sandboxed read-only tools
--allow-tool NAMEExpose one named tool; repeatable
--resume SESSIONContinue a selected session
--continueContinue the newest session
--yes, --allow-unsafe-tool-executionPre-approve mutating and command tools
--max-tool-iterations NCap model/tool rounds

Provider and model defaults for the dedicated command come from configuration and WISP_PROVIDER/WISP_MODEL. Use the compatibility --mode tui form when you need top-level --provider or --model flags.

Maintenance and inspection commands

Updates

text
wisp update [--check] [--yes|-y]

Without --check, Wisp offers to install the latest compatible release. --check reports status without installing; --yes accepts installation without confirmation. Installation is supported only for persistent uv tool installs. Check and installation failures exit with status 1.

Credentials

text
wisp auth status [PROVIDER] [--auth-file PATH]
wisp auth logout PROVIDER [--auth-file PATH]

status never prints secrets. logout removes the selected stored credential.

Project trust

text
wisp trust status [PROJECT]
wisp trust allow [PROJECT]
wisp trust revoke [PROJECT]
wisp trust forget [PROJECT]

The project defaults to the current directory. allow and revoke persist a decision; forget returns it to undecided. WISP_TRUST=1 or 0 overrides the decision for one process without persisting it.

Skills

text
wisp skills [PROJECT]

Lists valid Agent Skills and isolated discovery diagnostics. Project skills are skipped unless the project is trusted; bundled and user skills remain discoverable.

Output streams

Modestdoutstderr
Text/printFinal assistant textLifecycle events, trust prompts, diagnostics, and errors
JSONOne WispEvent JSON object per lineTrust prompts and process-level diagnostics
RPCJSONL commands are read from stdin; typed events and command results are written to stdoutProcess-level diagnostics
TUITerminal UIStartup failures before the UI takes control

Do not parse text-mode stderr as a stable protocol. Use JSON mode, RPC, or the SDK for typed integration contracts.

Exit status

StatusMeaning
0Normal completion, help/version output, user-declined update, or graceful TUI/RPC shutdown
1Configuration, provider, session, tool, update, or runtime failure
2Command-line syntax or type error reported by Typer/Click

External termination may produce a shell-specific signal status; that is not a versioned Wisp exit code. JSON mode emits an error event before status 1 when its typed output contract can still be honored.

Released under the MIT License.