Home / User guide
Reference

User guide

Version 0.0.6-alpha.2 for Windows. Twelve short guides, one per area of the app.

Version 0.0.6-alpha.2 for Windows. Twelve short guides, one per area of the app. Every button name, menu path, keyboard shortcut and on-screen message below was taken from the installed build, and every screenshot is of that build running a small demo project.

New to Catalase? Read Getting started, then dip into whichever section you need.

The full Catalase window with the demo project open: Explorer and Source Control on the left, app.py in the editor with the terminal below, and the chat panel on the right.
The Catalase window with a project open: Explorer and Source Control on the left, the editor and terminal in the middle, chat on the right.

What's in this guide

1. Getting startedInstall, first launch, finding your way around
2. ExplorerOpen a project and manage its files
3. EditorEdit code, shortcuts, AI suggestions, themes
4. TerminalRun commands without leaving the window
5. Source ControlReview changes, commit, branch, open a PR
6. ChatAsk questions about your code
7. Agent modeLet the AI make changes, with your approval
8. Commands and memorySlash commands, your own commands, MCP tools
9. ConversationsFind, resume and branch past conversations
10. Project snapshotsPick up where you left off
11. Models and providersLocal models, API keys, subscriptions
12. Privacy, cost and activityKeep code local, control spend, see what runs

1. Getting started

Install Catalase, finish the welcome steps, and open your first project.

Install

  1. Run Catalase-Setup-0.0.6-alpha.2.exe and choose an install folder.
  2. If Windows shows "Windows protected your PC", choose More info → Run anyway.
  3. Upgrading? Run the new installer over your existing copy. Your API keys, preferences and conversations are kept, and your panels keep their current order.

Get the installer from the download page.

The installer isn't code-signed yet, so Windows SmartScreen warns on first run. Choose More info → Run anyway to continue.

First launch

  1. Catalase starts its AI backend in the background. The status line under the chat box reads 🔌 Plugging in… for up to about 30 seconds the first time after a restart, then ✅ Connected.
  2. The Welcome to Catalase screen checks two things:
    • 1 · Local model (required for inline suggestions). If Ollama isn't found, install it and click Re-check, or click Browse models.
    • 2 · Plan (optional). Connect a subscription you already have, or add an API key in Settings.
  3. Click Done, or Skip to set things up later.
  4. Open a project with File → Open Folder…. Catalase reopens that folder next time.
The status line under the chat box, reading Connected beside a green tick.
The status line under the chat box. It reads Connected when Catalase is ready to answer.

Finding your way around

  • Left: Explorer and Source Control. Centre: the editor, with the terminal below it. Right: Chat.
  • Rearrange panels by dragging the ⠿ grip in any panel's header. Your order is remembered, including if you quit straight afterwards.
  • Toolbar (top right): Move chat · Watch your agent · Conversations · Marketplace · Settings (Ctrl+Shift+,). At narrow widths the toolbar wraps so every button stays reachable.
The Explorer panel: the project path, New file and New folder buttons, an Open Folder button, and a file tree where app.py carries an M for modified.
The Explorer panel: the project path, New file and New folder buttons, and the file tree. A letter beside a file shows its git state.

2. Explorer

Open a project folder and manage its files. Left panel.

Open a project

  • Click Open Folder, or use File → Open Folder….
  • From a terminal or shortcut: Catalase.exe "C:\path\to\project". A folder given this way wins over the remembered one.
  • File → New Project… starts one from scratch: pick a location, type a name, and Catalase creates that folder and opens it. If the name is already taken it says so rather than writing into the existing folder.
  • File → Close Folder puts you back to the no-folder state without quitting.
  • If the remembered folder has been moved or deleted, Catalase starts with no folder open.

Manage files

Right-click onYou get
A fileRename…, Delete
A folderNew File…, New Folder…, Rename…, Delete (with contents)
Empty spaceNew File…, New Folder… at the project root
The Explorer right-click menu on a file, offering Rename and Delete.
Right-clicking a file in the Explorer offers Rename and Delete.

Catalase won't overwrite: creating or renaming onto an existing name is refused with a message. Files show their git state (modified, staged, untracked) next to the name.

Catalase keeps its own project data (snapshots, memory, custom commands, MCP settings) in a hidden .catalase folder. It doesn't appear in the Explorer; your own dot-folders do.

3. Editor

Edit code in tabs, with AI suggestions as you type and Python code intelligence.

Everyday shortcuts

KeysAction
Ctrl+N / Ctrl+ONew file / open file
Ctrl+S / Ctrl+Shift+SSave / Save As
Ctrl+WClose tab
Ctrl+Tab / Ctrl+Shift+TabNext / previous tab
Ctrl+F / Ctrl+HFind / replace
Ctrl+GGo to line
Alt+↑ / Alt+↓Move line up / down
Shift+Alt+↓Copy line down
A Python file open in the editor with syntax highlighting, line numbers and the minimap at the right edge.
A Python file open in the editor, with syntax highlighting, line numbers and the minimap.

The full list is in Settings → Keybindings.

AI suggestions as you type

  1. Make sure a local model is installed (see Models and providers).
  2. Turn on Settings → Editor → Inline suggestions.
  3. Type. Grey ghost text appears: Tab accepts, Esc dismisses, Alt+] shows the next suggestion.

Speed can vary with your hardware: roughly 50–200 ms with a dedicated GPU, 0.5–3 s on CPU only, where a smaller model is recommended.

Appearance

Settings → Editor offers Dark, Light and High Contrast, plus font size and tab size. Changes persist across restarts.

Code intelligence (diagnostics, go-to-definition) is available for Python. Other languages get syntax highlighting and AI suggestions, but no language-server features.

4. Terminal

A PowerShell terminal inside the window, opened in your project folder.

  • Show or hide it with Ctrl+` or View → Toggle Terminal.
  • Run → Focus Terminal moves the cursor into it.
  • In chat, type @terminal to give the AI the terminal's recent output, for example to explain an error.
The terminal panel in the demo project folder, after running pytest, which reports 1 passed.
The terminal panel, running a command in the demo project folder.

"Waiting for input"

If a command stops to ask something (a password, Continue? (y/n)), a banner reads ⚠ Waiting for input: "…", so you (or the agent) know it's waiting. Answer in the terminal and the banner clears.

This banner used to appear after a command had already finished, if its output happened to look like a question. It now recognises that the shell has returned to its prompt.

5. Source Control

Review changes, commit with an AI-written message, publish your work. Left panel, below the Explorer.

Commit your changes

  1. Changed files are grouped into Staged Changes, Changes and Untracked. Click ⟳ to refresh.
  2. Stage what you want. Click a file to see its diff, and 💬 Explain for a plain-language summary.
  3. Type a message, or click Generate to have AI write one from your staged changes.
  4. Click Commit. If nothing is staged, Catalase offers to stage everything and commit.
The Source Control panel: a commit message box, Generate and Commit buttons, and the Staged Changes, Changes and Untracked lists.
The Source Control panel: a commit message, Generate and Commit, and the staged, changed and untracked lists.

Branches and publishing

ControlWhat it does
Branch dropdownSwitch branch
New session branchCreates and switches to a branch for your AI session (catalase/session-…); switches to it if it already exists
PushPushes the current branch to origin, setting upstream the first time
Create PRAI drafts a title and description, then Catalase opens a GitHub pull request

Before you use Create PR: you need the GitHub CLI installed and signed in (gh auth login), plus a GitHub remote. Catalase checks all three before pushing, so a PR that can't be created leaves nothing published.

Create PR works with GitHub only, through the gh CLI.

6. Chat

Ask questions about your code. Chat panel, centre by default.

Ask a question

  1. Choose a model in the picker: local, API-key, or a connected subscription.
  2. Optionally choose a kind of help: Ask anything, Explain, Refactor, Debug, Generate tests or Document.
  3. Type and press Enter. Shift+Enter makes a new line.
The chat panel after a question about apply_tax. The answer is shown, the cost meter reads $0.0000, and the footer says the qwen2.5-coder:1.5b model answered at a cost of $0.0000.
A question and answer in the chat panel. The footer shows which model answered and what the turn cost: $0.0000, because this one ran on a local model.

Add context

  • Mention files: type @ and pick a file, or @terminal for recent output.
  • The + menu: attach a file, mention a project file, clear the conversation, rewind, switch model, set effort, toggle thinking.
  • Images: attach screenshots for vision-capable models. Images are sent in regular chat, not in Agent mode.

While it's answering

  • Press the stop button to interrupt.
  • Send another message and it waits its turn: a banner shows it queued, with Cancel if you change your mind. It sends automatically when the current turn ends.
  • Set Effort (low, medium, high) for models that support it.
  • If a message fails, Catalase can retry with the next available model.

Reading the status line

It saysMeaning
✅ ConnectedReady
🔌 Plugging in…Backend still starting
👨‍🍳 Chef is cooking…The agent is working
🙋 Need your OKWaiting for your approval on a tool call
🔌⚡ Connection dropped — retrying…Lost the connection, retrying
🪫 Backend's gone quiet — try restarting CatalaseThe backend has stopped

7. Agent mode

Let the AI read files, make edits and run commands in your project, with your approval.

Start an agent task

  1. Open a project folder. Agent mode needs one.
  2. Pick Agent from the mode dropdown at the top of the chat panel. The same dropdown holds Chat (answers only, never touches your files) and Plan (writes a plan first and asks before doing anything).
  3. Choose how much it should ask you, describe the task, and send.
ChoiceWhat happensUse it when
ChatAnswers questions, never touches your filesAsking about code
Agent, asking before every changeEvery action is designed to wait for approvalNew to the agent, or sensitive code
Agent, asking only for risky changesLow-risk actions run; risky ones askMost day-to-day work
Agent, not askingEvery action runs immediatelyThrowaway branches you'll review after
PlanWrites a plan and does nothing until you approveLarger changes

Chat, Agent and Plan used to be an "Agent mode" tickbox plus a separate permission dropdown that also held Plan. They are one dropdown now.

The chat mode dropdown set to Agent, with the how-much-to-ask dropdown set to Ask before every change beside it.
The mode dropdown set to Agent, with how much it should ask you beside it.

Review what it does

  • Each proposed action appears as a card with its risk level. Approve or reject it.
  • After a file change runs, Undo on its card is designed to reverse that change.
  • In Plan mode the plan opens in a read-only tab; click Execute plan when happy.
  • Open Watch your agent (toolbar) to see what it's doing. The scene is draggable and resizable.

Tip: use New session branch in Source Control before a larger agent task, so its changes are easy to review or discard.

If the agent stops responding: the status shows 🪫 Backend's gone quiet — try restarting Catalase. It doesn't restart itself. Restart the app; your files and conversations are kept.

8. Commands and memory

Slash commands, your own project commands, project memory and MCP tools. Chat input.

Built-in commands

Type the whole command and press Enter. You don't have to pick it from the dropdown, and one Enter is enough. Type / on its own to browse the list, or run /help for the current one.

GroupCommands
Coding/explain, /fix, /debug, /test, /document, /refactor, /review, /deep-research
Conversation/clear (or /reset, /new), /resume (or /continue), /fork, /rewind (or /checkpoint, /undo)
Session/model (list, or /model sonnet to switch), /effort [low|medium|high], /usage, /help
Project/init (asks the AI to write an AGENTS.md), /remember <fact>, /btw <question>, /mcp, /config (or /settings)

Fixed in 0.0.6-alpha.2. Typing a command and pressing Enter used to send it to the model as ordinary text instead of running it. /clear was the worst case: it looked like nothing happened while the underlying session was quietly cleared behind the scenes. Every command above now runs when you type it and press Enter.

/config, /settings, /resume and /continue toggle their panel rather than only opening it. Run one twice in a row and the second run closes the panel again.

/diff is not available in v0.0.6-alpha.2. It is listed in the command palette but does not open a diff. Open a diff by clicking the file in the Source Control panel instead. See known limits.

Typing a slash in the chat box opens a list of commands: /explain, /fix, /test, /document, /review, /refactor, /debug and more, each with a description.
Typing a slash in the chat box lists every command, built-in and your own, with a description of each.

Your own commands

  1. Create .catalase/commands/ in your project.
  2. Add a Markdown file, e.g. changelog.md, containing the prompt. Use $ARGUMENTS where text typed after the command should go.
  3. Type /changelog since last release. Custom commands also appear in the / list.

MCP tools

Add your servers to .catalase/mcp_servers.json in the project; their tools become available to the agent. Run /mcp to check they connected.

Current limits: no screen for managing MCP tools yet. If one server offers two tools with the same name, one becomes uncallable.

9. Conversations

Find, resume and branch past conversations. Toolbar → Conversations.

  • + New conversation starts fresh.
  • Search by title; click a conversation to resume it.
  • Rename or archive to tidy the list; tick Show archived to see archived ones.
The Conversations panel with a search box, a New conversation button, a Show archived checkbox, and one past conversation with an Archive button.
The Conversations panel, listing past conversations with Archive beside each.

Go back or branch off

Hover an earlier message of yours:

ActionEffect
RewindReverts your files and the conversation to that point. Asks first.
ForkStarts a new branch from that point, leaving your files as they are.

Limits: Rewind and Fork work on regular chat messages, not Agent-mode turns (use each action's Undo there). Conversations can be archived but not permanently deleted.

10. Project snapshots

Pick up where you left off. Catalase saves a picture of your project's structure and gives it to the AI when you resume.

Experimental. Project snapshots are experimental.

How it works

  • A snapshot (a dependency-graph image plus a text summary) is taken when you close the app, every 30 minutes (skipped when nothing changed), and when you run /remember, which is designed to take one as well.
  • Snapshots live in your project's .catalase\context folder, one per day.
  • Progress shows as 📸 VCM Snapshot in the Agent Activity panel.

Resume a session

  1. Open the project. If a snapshot from today exists, a banner reads A project snapshot from today is available (experimental).
  2. Click Resume. With a vision-capable model the image goes with your first message; other models get the text summary.
  3. Click Dismiss to start without it.

The closing snapshot is now written reliably when you quit normally, including the very first one for a project. Earlier versions could lose it, so you no longer need to run /remember before ending a short first session.

A snapshot takes a few seconds to draw, so let the window close on its own rather than ending the process by hand.

11. Models and providers

Choose where AI comes from: local models, API keys, or subscriptions you already pay for.

Three ways to connect

RouteHow
Local (free, on your machine)Install Ollama, then open Marketplace, tick Show only models that fit my system, and install one. Or pull by name in Settings → Local Models (Ollama). Use Refresh catalog to pull in newly discovered models; entries found automatically carry a source badge. Installed models have a Delete button that removes them from disk after a confirmation.
API keysSettings → API Keys: Anthropic, OpenAI, Google, OpenRouter, Zhipu (pay-as-you-go) and Zhipu Coding Plan. Use Test Key to check one; saved keys show masked.
SubscriptionsSettings → Coding Plans: Claude Code, OpenAI Codex, GitHub Copilot, Gemini CLI, Qwen Code, Amazon Q, opencode, GLM. Install the CLI and sign in to it. Catalase is designed never to see your credentials.

The two Zhipu rows are separate on purpose: Z.ai bills them differently and a key for one won't work with the other. Each row explains which is which.

The Marketplace model catalogue. Each row shows a fit badge such as Will run, slower, the download size, and an Install or Delete button.
The Marketplace catalogue. Each model shows whether it will run well on your hardware, how large it is, and Install or Delete.
Settings, API Keys and Accounts: an add-key button for Anthropic, OpenAI, Google AI, two Zhipu AI plans and OpenRouter.
Settings, showing the API key slots. A saved key appears in the chat model picker straight away.

Model routing

Settings → Model routing lets you pick a model per task: Chat, Commit messages, PR title/body/changelog, Explain diff and Code review. Leave any on Use default. For example: a fast local model for commit messages, a stronger cloud model for code review.

The Model picker

Clicking the model name opens a picker split into two parts:

  • The top section is what you can use right now: your local Ollama models, any subscription CLI you have installed, and any provider you have saved a key for.
  • "Needs setup" is collapsed, and lists what you could use once you add a key or sign in. Its entries are greyed out with a lock and cannot be selected; the link inside it takes you straight to Settings.
The model picker open: subscription models, local Ollama models, and a collapsed Needs setup group at the bottom.
The Model picker. The top section is what you can use now; "Needs setup" is collapsed at the bottom.
The model picker with Needs setup expanded: API-key models greyed out with a lock icon and an Add an API key in Settings link.
"Needs setup" expanded. Each entry is greyed out with a lock, and the link goes to Settings.

Worth knowing. The picker is short for the first half-minute after Catalase starts, then fills out as it finds what you have installed. The opencode plan appears as one entry. Typing /model <name> in chat is the quick way to switch.

Switching quickly

Use /model sonnet in chat. /model alone lists everything available; an ambiguous query lists the candidates instead of guessing.

Large local models with llama.cpp (advanced)

  1. Open Settings → Local inference backend. Catalase shows your RAM and GPU, recommends Ollama or llama.cpp, and suggests a quantization level.
  2. Install Python with pip install llama-cpp-python.
  3. Pick that Python from the suggested list or enter its path. You can either save it (Catalase launches it to check it works) or click Install llama-cpp-python, which runs a real pip install against that interpreter and streams the progress.

If verification fails, the message now tells you which problem it is: a missing package ("llama_cpp not importable in this interpreter") versus something that is not a Python at all. For the first, click Install llama-cpp-python; the button works without a prior successful check.

Limit: even once llama.cpp is installed, chat still routes through Ollama. See known limits.

12. Privacy, cost and activity

Keep code on your machine, control spending, see what's running. For what leaves your machine and when, read the privacy page.

FeatureWhereWhat it does
Local-only modeSettings → PrivacyCatalase is designed to send nothing to cloud models. Pick a cloud model and Catalase substitutes a local one, telling you in the chat.
Cost meter and budget capChat panelShows this session's spend against its cap (default $5.00), warns at 80%, alerts at the cap. Set the default in Settings → Budget.
Context usageChat panelHow much of the model's context window the conversation uses. Start a new one (/clear) when it fills.
The Agent Activity panel listing a scheduled snapshot and completed jobs, including a local chat turn costing $0.0000.
The Agent Activity panel, listing what is scheduled, running and finished.

See what's running

  • Agent Activity lists Running, Scheduled and Completed jobs: chat and agent turns, repo map indexing, snapshots, commit messages, diff explanations, model downloads and the language server.
  • Watch your agent (Agent Office) shows the agent at work and offers Review in chat when it's done.
The Agent Office: a pixel-art office with work, break, game and washroom rooms, a status line reading On a break, and an Open Chat button.
Agent Office: a view of what the agent is doing, with Open Chat to jump back to the conversation.

Catalase 0.0.6-alpha.2 for Windows · guide prepared 2026-10-04. Every instruction, message and screenshot here comes from the installed build. Screenshots use a small demo project, so no real code appears in them.