Skip to content

🏁 Janito CLI Options

This page documents all command-line options for Janito, as shown by janito --help. These options override configuration for a single session and do not persist changes to config files unless you use --set or a custom config file with -c.

Syntax: janito [options] [prompt]

💡 Overview

These options are useful for one-off runs, scripting, or experimentation. They take precedence over config files for the current invocation only.

⚙️ Options

Option Description
prompt Prompt to submit (optional positional argument)
-h, --help Show this help message and exit
-c NAME, --config NAME Use custom configuration file ~/.janito/configs/NAME.json instead of the default config.json
--verbose-api Print API calls and responses of LLM driver APIs for debugging/tracing.
--verbose-tools Print info messages for tool execution in tools adapter.
--verbose-agent Print info messages for agent event and message part handling.
-z, --zero IDE zero mode: disables system prompt & all tools for raw LLM interaction
-u, --unrestricted Unrestricted mode: disable path security and URL whitelist restrictions (DANGEROUS). See Security for details.
--multi Start chat mode with multiline input as default (no need for /multi command)
-r, --read Enable tools that require read permissions (default: off)
-w, --write Enable tools that require write permissions (default: off)
-x, --exec Enable execution/run tools (allows running code or shell commands from the CLI). (default: off)
--unset KEY Unset (remove) a config key
--version Show program's version number and exit
--list-tools List all registered tools
--show-config Show the current config and config file path
--list-config List all config files (default and custom)
--list-providers List supported LLM providers
-l, --list-models List all supported models
--set-api-key API_KEY Set API key for the provider (requires -p PROVIDER)
--set KEY=VALUE Set a config key
-s SYSTEM_PROMPT, --system SYSTEM_PROMPT Set a system prompt
-S, --show-system Show the resolved system prompt for the main agent
-p PROVIDER, --provider PROVIDER Select the provider
-m MODEL, --model MODEL Select the model (supports model@provider syntax)
-t TEMPERATURE, --temperature TEMPERATURE Set the temperature
-v, --verbose Print extra information before answering
-R, --raw Print the raw JSON response from the OpenAI API (if applicable)
--effort {low, medium, high, none} Set the reasoning effort for models that support it (low, medium, high, none)
-e, --event-log Enable event logging to the system bus
--event-debug Print debug info on event subscribe/submit methods

👨‍💻 Usage Example

janito [options] [prompt]
janito -p openai -m gpt-3.5-turbo "Your prompt here"
janito -m gpt-4@openai "Your prompt here"  # Using model@provider syntax
janito -c myproject -p openai "Prompt for my project (uses ~/.janito/configs/myproject.json)"
janito --list-tools
janito --multi  # Start chat mode with multiline input as default
janito -u -x --read --write "Run a tool with unrestricted paths (DANGEROUS)"

⚠️ Enabling Tool Permissions

By default, tools that can read, write, or execute code are disabled for safety. You can enable these permissions using individual flags or a convenient shortcut:

Individual Permission Flags

  • -r, --read: Enable tools that require read permissions
  • -w, --write: Enable tools that require write permissions
  • -x, --exec: Enable execution/run tools (code execution, shell commands including run_bash_command and run_powershell_command)

Quick Permission Shortcut

Use /rwx prefix to enable all permissions at once:

janito /rwx "Create a Python script and run it"

Examples

# Enable all permissions individually
janito -r -w -x "Create and run a Python script"

# Enable only execution tools
janito -x "Run this code: print('Hello, world!')"

# Enable read and write tools
janito -r -w "Read a file and create a new one"

Warning: Enabling execution tools allows running arbitrary code or shell commands. Only use these options if you trust your prompt and environment.

⚠️ Disabling Path Security

By default, all file and directory arguments to tools are restricted to the working directory (see --workdir). To disable this security and allow any path (including system files), use the -u or --unrestricted-paths flag:

janito -u "Do something with C:/Windows/System32/hosts"

Warning: Disabling path security is extremely dangerous. Only use --unrestricted-paths if you trust your prompt, tools, and environment.

This page is generated from the output of janito --help.

🔄 Model@Provider Syntax

The -m/--model option supports a convenient model@provider syntax that allows you to specify both the model and provider in a single argument:

# Traditional approach (two arguments)
janito -p openai -m gpt-4 "Your prompt"

# New syntax (single argument) - equivalent to above
janito -m gpt-4@openai "Your prompt"

Benefits

  • Shorter commands: Combine model and provider selection
  • Consistent with other tools: Familiar syntax used by tools like Docker
  • Backward compatible: Existing -p provider -m model syntax still works

Examples

# Use GPT-4 with OpenAI
janito -m gpt-4@openai "Explain quantum computing"

# Use Claude with Anthropic
janito -m claude-sonnet-4-5-20250929@anthropic "Write a Python function"

# Use Kimi with Moonshot
janito -m kimi-k1-8k@moonshot "Translate this to Chinese"

# Complex model names work too
janito -m gpt-4-turbo-preview@openai "Debug this code"

Notes

  • If you specify both -m model@provider and -p provider, the explicit -p flag takes precedence
  • Multiple @ symbols are handled by splitting on the last @ (e.g., model@with@symbols@provider → model: model@with@symbols, provider: provider)
  • Empty parts are ignored (e.g., @provider or model@ won't set the provider)

🧠 About --effort

The --effort option allows you to set the reasoning effort for models that support it. This can influence how much computational or logical effort the model applies to your prompt. The available values are:

  • low: Minimal reasoning effort (faster, less detailed)
  • medium: Moderate reasoning effort (default for some models)
  • high: Maximum reasoning effort (slower, more detailed)
  • none: Disables special reasoning effort (model default)

Note: Not all models or providers support this option. If unsupported, the option may be ignored.

🔧 Configuration Keys

The --set command supports the following configuration keys:

Key Description Example
provider Set the default provider --set provider=openai
model Set the default model --set model=gpt-4.1
max_tokens Set maximum tokens --set max_tokens=4000
base_url Set custom API base URL --set base_url=https://api.example.com
tool_permissions Set tool permission level --set tool_permissions=rwx
disabled_tools Disable specific tools --set disabled_tools=ask_user,python_code_run

For more details on disabling tools, see the Disabling Tools Guide.