-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Roy Padina edited this page Jun 5, 2026
·
1 revision
One TOML file is shared by the terminal and the GUI. Edit it by hand, with agent-cli-menu config --edit, or in the GUI's Settings — all three write the same file.
Resolved in this order (first hit wins):
$AGENTCLIMENU_CONFIG
$XDG_CONFIG_HOME/agentclimenu/config.toml
~/.config/agentclimenu/config.toml
agent-cli-menu config --setup seeds a starter; --edit opens it in $EDITOR; --path prints the resolved path. ~ and allow-listed $VARs expand in path values.
$CLD_CONFIGis intentionally not honored — a clean break from the oldcldzsh tool, whose lax YAML/TOML could failsmol-toml's strict parse. Re-seed with--setupif migrating.
default_tool = "cld" # which tool is preselected in New (informational)
# ─── dir groups ── each is a section in New; `path` is scanned one level deep,
# sorted by `z` frecency (falls back to mtime).
[[group]]
name = "Work"
path = "~/code/work"
color = "#6C91BF"
# ─── tools ── each generates a launcher; `runs` is a shell command run in the chosen dir.
[[tool]]
name = "cld"
runs = "claude --dangerously-skip-permissions"
label = " ⚡ Projects "
color = "#6C91BF"
[[tool]]
name = "cdx"
runs = "codex --dangerously-bypass-approvals-and-sandbox"
label = " ✦ Codex "
color = "#A855F7"
# ─── IDEs ── each binds an fzf-style ^key: opens the editor, then launches the tool.
# `cmd` runs via the shell with $dir = the selected absolute path.
# Reserved keys (cannot be reused): ctrl-f ctrl-p ctrl-t ctrl-n (and enter).
[[ide]]
key = "ctrl-v"
label = "code"
cmd = 'code "$dir"'
# ─── GUI / terminal ──
[gui]
terminal = "default" # "default" (system) | Terminal | iTerm | Ghostty | Warp | kitty | WezTerm | cmux | custom
# launch_command = 'open -a "iTerm" {{script}}' # only for terminal = "custom"; {{script}} / {{cmd}} / {{dir}}
# hotkey = "cmd+shift+m" # global shortcut to open the GUI window
# ─── theme (optional) ──
# [theme]
# accent = "#FF9F43"-
Tool names
cld/cdxare just labels for the Claude / Codex launchers — rename them freely; they are not shell commands. - The shell variable is lowercase
$dirinruns/ IDEcmd(matches the oldcld); commands run via${SHELL:-/bin/zsh} -c. -
--dangerously-skip-permissionsis in the default Claude command because this is a launcher for your own machine. Changerunsto drop it. - A colliding
[[ide]].keyon a reserved key is dropped with a warning, never a crash. - The GUI hotkey is easiest to set in Settings — click the recorder field and press the combo. See GUI.
Agent CLI Menu · MIT © Roy Padina · Support on Ko-fi ☕