Skip to main content
Fourteen slash commands for setup, session management, model control, forks, lifecycle, integrations, and configuration — all restricted to the bot owner via DMs.

Quick reference

CommandDescriptionParameters
/setupGuided setup wizard for names, personality, and user contextNone
/clearClear conversation and start freshNone
/compactCompact conversation contextinstructions (optional)
/costShow token usage for this sessionNone
/forkStart a forked conversationtopic (optional)
/modelView or switch the AI modelname (optional)
/thinkingView or set thinking modemode (optional)
/interruptStop the current responseNone
/google-authConnect Google account via OAuthNone
/updateCheck for updates and apply immediatelyNone
/restartRestart the bot processNone
/permissionsView or set permission modemode (optional)
/ping-budgetView or set ping budgetcapacity, refill_rate (both optional)
/configView or set runtime configurationkey (optional), value (optional)

Setup

/setup

A guided wizard that walks you through configuring names, personality (IDENTITY.md), and user context (USER.md) — all in one conversation. No parameters. The wizard detects your current state before asking anything:
  • Fresh setup — offers a choice between a fast path (3 questions covering names, about you, and personality tweaks) or a full walkthrough (section-by-section IDENTITY.md and detailed USER.md configuration).
  • Already configured — shows a summary of your current setup and asks what you’d like to change, then jumps to the relevant section.
If you change names during setup, the wizard updates .env automatically and suggests running /restart to apply the new names everywhere.
/setup is only invocable as a slash command — the bot won’t trigger it automatically. You can run it anytime to reconfigure.

Session commands

/clear

Resets the conversation to a blank state. This clears all prior context, exits any active interactive fork, resets permission approvals, and cancels any pending permission prompts. The next message starts a fresh session. If you run /clear while inside an interactive fork, the fork is discarded and a “Fork Ended” exit embed is sent before the conversation resets. The confirmation message notes the discarded fork.

/compact

Compacts conversation context to free up space. Useful when a long conversation starts hitting context limits.
ParameterTypeRequiredDescription
instructionsstringNoOptional focus for the summary (e.g., “keep the routine config details”)
The command defers the interaction (showing a thinking indicator), then sends a followup with productivity stats:
15 turns · 3h 12m · 45k tokens compacted
Stats include: number of turns in the session, session age, and pre-compaction token count.
Use instructions to tell the compactor what information matters most. Without it, the SDK picks what to preserve automatically.

/cost

Returns the cumulative token usage and cost for the current session in USD.

Model commands

/model

Views or switches the AI model. Call with no argument to see the current model; provide a name to switch.
ParameterTypeRequiredChoices
namechoiceNoopus, sonnet, haiku
When you provide a name, the change takes effect immediately — the next message uses the new model.
/model is blocked during interactive forks — exit the fork first. Switching the model mid-fork would silently kill the fork client.

/thinking

Views or sets the extended thinking mode — controls whether Claude uses chain-of-thought reasoning and how many tokens it can spend on it. Call with no argument to see the current setting.
ParameterTypeRequiredChoices
modechoiceNooff, adaptive, 8k budget, 32k budget, 64k budget
ModeBehavior
offDisables extended thinking entirely.
adaptiveClaude decides whether to think based on query complexity.
8k / 32k / 64k budgetFixed token budget for thinking (8,000 / 32,000 / 64,000 tokens).
Changing the thinking mode drops the active client and exits any active fork — the next message creates a fresh connection with the new setting. You can also set a custom budget via /config thinking.main with any positive integer as the value.
/thinking is blocked during interactive forks — exit the fork first. Changing thinking mode drops the active client, which would silently kill the fork.

Fork commands

/fork

Starts an interactive fork — a branched conversation that does not affect the main session history.
ParameterTypeRequiredDescription
topicstringNoOptional topic to seed the forked conversation
Returns an error if you are already inside a fork. Otherwise, creates a forked client and sends a fork entry embed with action buttons.

/interrupt

Stops the bot’s current response mid-stream. The command is silent — it defers the interaction, interrupts any in-progress generation, then deletes the deferred response.
If the bot is not actively generating a response, /interrupt does nothing.

Integration commands

/google-auth

Connects your Google account via OAuth for Tasks, Calendar, and Gmail access. The command checks for credentials.json in the state directory first — if missing, it tells you to set up OAuth credentials. If Google is already connected, it confirms that. Otherwise, it starts an OAuth flow with a 5-minute timeout and two completion paths:
  • Browser path — click the auth URL; the browser redirects to a local server and authentication completes automatically
  • Paste path — for cross-device scenarios (e.g., the bot runs on a headless server), complete auth on another device and paste the redirect URL back into the Discord DM
On success, the bot sends “google connected.” to the channel.
If your Google token is revoked (password change, manual revocation in Google settings), the bot detects it automatically on the next API call and sends you a message to reconnect with /google-auth.

Lifecycle commands

/update

Checks for upstream updates and applies them immediately — bypasses the auto_update_hour window. If updates are found, the bot pulls the latest code (git pull --ff-only), upgrades the tool install (uv tool upgrade ollim-bot), logs a “restarting” event to session history, and restarts the process. If already up to date, confirms with a message.

/restart

Restarts the bot process without checking for updates. Useful when you’ve made local changes or need a clean restart. Logs a “restarting” event to session history before restarting.

Configuration commands

/permissions

Views or sets the permission mode that controls how the agent requests tool approval. Call with no argument to see the current mode.
ParameterTypeRequiredChoices
modechoiceNodontAsk, default, acceptEdits, bypassPermissions
ModeBehavior
dontAskSuppresses all prompts. Unapproved tools are silently denied.
defaultThe agent asks for approval before using tools.
acceptEditsThe agent can make file edits without asking, but other tools still require approval.
bypassPermissionsAll tools are auto-approved. No permission prompts.
Permission mode is scoped per session. If you are in a fork, only the fork is affected. The main session retains its own permission mode. Exception: dontAsk uses a module-level flag — switching to or from dontAsk in a fork affects the main session. See Permissions for details.

/ping-budget

Views or configures the ping budget — controls how often background forks can notify you.
ParameterTypeRequiredDescription
capacityintegerNoMaximum number of pings in the bucket
refill_rateintegerNoMinutes between refills (default: 90)
Run /ping-budget with no parameters to see the current budget status.

/config

Views or sets persistent runtime configuration. Settings survive bot restarts — ollim-bot stores them in ~/.ollim-bot/state/config.json.
ParameterTypeRequiredDescription
keychoiceNoConfiguration key to view or set
valuestringNoNew value for the key
Run /config with no parameters to see all settings and their current values. Each setting that accepts a fixed set of inputs also shows its valid values next to the current value — so you never have to look up what a key accepts.

Available keys

KeyTypeDefaultValid valuesDescription
model.mainmodelSDK defaultopus / sonnet / haiku / defaultDefault model for the main session
model.forkmodelInherits from mainopus / sonnet / haiku / defaultDefault model for interactive forks
thinking.mainthinking modeoffoff / adaptive / <budget>Extended thinking for the main session
thinking.forkthinking modeadaptiveoff / adaptive / <budget>Extended thinking for interactive forks
bg_fork_timeoutinteger1800Any integerMax background fork runtime in seconds
fork_idle_timeoutinteger10Any integerInteractive fork idle timeout in minutes
permission_modepermission modedontAskdontAsk / default / acceptEdits / bypassPermissionsDefault permission mode
auto_updatebooleanoffon / offAuto-pull, sync both venvs, and restart on new commits
auto_update_intervalinteger60Any integerUpdate check interval (minutes)
auto_update_hourhour (0-23)60-23Hour of day to apply updates
Model values: opus, sonnet, haiku, or empty to reset to default. Boolean values: on/off, yes/no, true/false. Thinking mode values: off, adaptive, or a positive integer for a custom token budget.
Use /config to set fork-specific defaults — for example, always use opus with thinking in forks while keeping sonnet for the main session.

Next steps

Conversations

How the DM message flow works alongside slash commands.

Forks

Interactive and background forks explained.

Permissions

Full guide to permission modes and tool approval.

Ping budget

How the notification rate limiter works.

Configuration reference

Environment variables and runtime configuration keys.