Quick reference
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.mdand detailedUSER.mdconfiguration). - Already configured — shows a summary of your current setup and asks what you’d like to change, then jumps to the relevant section.
.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.
The command defers the interaction (showing a thinking indicator), then
sends a followup with productivity stats:
/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.
When you provide a name, the change takes effect immediately — the next
message uses the new model.
/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.
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.
Fork commands
/fork
Starts an interactive fork — a branched conversation that does not affect the main session history.
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 forcredentials.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
Lifecycle commands
/version
Shows the running bot version. The response is ephemeral — only you see it. The format depends on whetherHEAD is on a tagged release:
The bot derives this from
git describe --tags in the project directory. If git is unavailable, it falls back to the installed package version via importlib.metadata.
The same version string appears in the startup DM — the first-run welcome and the “picking up where we left off” resume message both include it.
/update
Checks for upstream updates and applies them immediately — bypasses theauto_update_hour window. Update detection compares your current version against the latest v* tag on origin (git tag -l "v*" --sort=-version:refname). If a newer tag exists, 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.
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.- View budget
- Update budget
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.
- View all
- View one
- Set a value
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
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.
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.
