Pathrule
Studio workflows

Chat

Talk to Claude Code, Codex, Grok, Kimi Code, Antigravity or OpenCode on your workspace. Pick the engine and the exact model your installed tool offers, keep typing while an answer runs, steer it with Send now, and reach every Studio action from the slash menu.


Chat is where you work with a coding engine directly. You type, and the engine reads and edits your project. Pathrule prepares the relevant memories and rules for the work before the engine starts. It offers available skills by name; when you invoke one, its instructions join that turn.

Studio drives the engines you already have, under your own subscriptions: Claude Code (shown as Claude in the picker), Codex, Grok, Kimi Code, Antigravity and OpenCode. Or pick Auto and let Pathrule Auto choose for you.

Pick an engine and a model

The engine picker sits just above the composer. It opens upward and never grows past the room it has, so its Apply button is always on screen; a panel that would not fit scrolls instead.

The picker is one panel that drills in: engine, then model, then that engine's own settings, then Apply. Clicking an engine row without drilling in picks it with its default model. Chat, the Tasks board and Design all use the same picker, so a model or mode you choose in one is the one the others start from.

The model list comes from your tools. Studio asks each installed tool which models it accepts, the same answer that tool's own model menu gives, and shows exactly that. A model appears the day your tool starts offering it and disappears the day it stops, with no Pathrule update in between. Asking spends no tokens and happens in the background: when Studio starts, after a tool updates or signs in, and when you open the picker. If a tool cannot answer, the last list it gave stays in place.

The model you pick is the model that runs. That holds on every path, including Claude's long context variant, the model you chose for Grok, and second opinions and background tasks. A conversation still pinned to a model your tool no longer offers stays on its own engine: it moves to the replacement the tool names, or to the same family, so an Opus conversation stays on Opus, and only then to that tool's default.

Each engine keeps its own settings. The settings step shows what that engine supports, for example:

  • Claude Code: Ask before edits, Auto edit, Plan mode or Auto mode, plus effort, thinking and fast mode.
  • Codex: approval, sandbox (Read-only, Workspace write or Full access), reasoning and fast mode.
  • OpenCode: the Build or Plan agent, and permissions.
  • Grok: Code, Plan or Ask mode, routing and reasoning effort.
  • Kimi Code: permissions and thinking.
  • Antigravity: Plan or Code.

The same settings are also at the top of the slash menu when you type / with nothing after it.

Next to the picker, Studio shows how much of the engine's usage window is left and when it resets. Switching engine in the middle of a conversation keeps the conversation: a running answer finishes on the engine that started it, and the new engine prepares in the background.

Setting up an engine

You do not have to leave Chat to get an engine working.

  • Not installed. Chat offers Prepare engine and installs it in the background with npm, bun or pnpm. An engine that installs from a script shows the exact command to run in a terminal instead.
  • Signed out. Press Sign in and finish in the browser; if the browser does not open, Studio shows the sign-in URL to copy. Where the provider shows a one-time code, you paste it into Studio. Claude Code, Codex and Grok also take an API key instead, stored on your machine.
  • Session expired. Studio offers Sign out and sign in and reopens sign-in for you.

Your message is never lost on the way: it waits, and sends on its own as soon as the engine is ready.

Coding tools stay current without holding you up. Studio checks every installed tool shortly after it starts and again every few hours, and the check pauses the moment you start working. A message never waits for a routine check: it runs on the version you have, and the update lands at the next quiet moment. The only wait left is while a tool's files are actually being replaced, and Chat says so. A Claude Code installed with Homebrew updates on the release channel you chose.

Writing a message

  • @ mentions a file or folder in your workspace.
  • :: opens the skill picker: Studio capabilities and the skills your engine can load.
  • / opens the slash menu, described below.
  • Images: paste, drop or attach screenshots and mockups, and they reach the engine as real images. If the selected model cannot see images, Chat says so and sends only the file name.
  • Files: drop any file to attach it, or add a Figma .fig file to have its colors, type and components read out for you.
  • Pasted text: a long paste becomes a Pasted chip with its line count, so it does not flood the composer. Click it to open and edit it, or remove it with the cross. Its full text goes with your message. A single pasted link becomes a link chip instead.
  • Dictation: the microphone turns speech into text. See Dictation.

While an answer is running

You can keep typing while the engine works. A message you send now waits in a queue just above the composer, marked Queued, and starts as soon as the current answer finishes. Queued messages run in the order you sent them, and you can remove one with Remove from queue. When nothing is running, a message starts immediately.

Send now is for a message you do not want to hold back:

  • On Codex, Grok and OpenCode it guides the answer that is already running, so the engine takes your message into account without starting over.
  • On the other engines it stops the current answer and starts your message at once.

If stopping fails, the message stays in the queue with Retry Send now instead of disappearing.

A queued row can also say what it is waiting for: Preparing, Waiting for the engine switch, Finding an available AI, or No internet connection.

Stop replaces the send button while an answer runs, and Esc does the same. If Claude Code goes quiet for several minutes without waiting on you, the status line says how long it has gone without a reply, and the work carries on. If a Codex turn stalls after a tool has finished, Studio recovers it on its own: a turn that already did work is continued where it stopped, and one that did nothing yet is started again once, with no error and no lost progress.

Slash commands

Type / at the start of the composer. The menu filters as you type.

CommandWhat it does
/planRuns a visible plan turn in this chat: reads the repository, drafts the plan and saves it to docs/pathrule-plans when a local repository is open. Chat also offers it when a request looks like a big change.
/goal <condition>Keeps working, turn after turn, until the condition holds. A check after each turn decides whether it does; the goal pauses at a turn limit or a token budget, which you can set in the condition ("or stop after 10 turns"), and you can name a command that proves it ("verify with pnpm test"). /goal clear stops it.
/btw <question>A quick side question, answered once and without tools, while the main conversation carries on untouched. Add --claude, --codex, --grok, --kimi, --opencode or --antigravity to ask another engine, and --low, --medium or --high for the quality you want.
/workflowRuns your next message as an orchestrated multi-engine run.
/councilPuts your next message to a multi-model council, with the chat model chairing the answer.
/taskTurns the message into cards on the Tasks board.
/scheduleTurns the message into a scheduled task.
/memory, /rule, /skillAsks the engine to write a memory, rule or skill for the path you are on.
/skill-githubImports a skill from a GitHub or skills.sh link.
/historyAsks Pathrule for a deep scan of the project's history for this message.
/statusShows the current run's steps.
/review, /init, /pr-commentsReview the changes, get to know the project, or address the comments on a pull request.
/designerBrings code in line with a Pathrule design. See Design to code.
/signalsPrepares the turn for adding a Pathrule Signal. See Setting up Signals.
/mcp, /storageOpen the MCP Servers panel, or see what is using space on this device.
/clearOpens a new chat.

Below the built-ins, the menu lists what your own setup brings: your engine's custom commands, your project and engine skills (a skill you pick runs through the engine's own skill mechanism), Claude subagents, and the tools of every connected MCP server.

A /plan turn shows its repository reads in the conversation. As the plan is written, its card shows the current section. When it finishes, open the full plan from the card. With a local repository open, Studio saves the plan under docs/pathrule-plans and shows the file name; if saving fails, the card offers Retry. Without a local repository, the plan remains available in the chat card.

Reading the answer

An answer keeps the engine's work and its reply apart. The work, files read, edits and commands, folds into one line such as "Worked for 2m", and the reasoning into "Thought for 40s"; open either to see the detail. A permission request or a question from the engine floats above the composer with Allow and Deny, or with the choices it offers.

  • When the agent needs you to choose, it can end its answer with a decision card: the options with their trade-offs and the one it recommends. Click an option and your pick is sent as the next message. Your picks, and what you remove from an agent's changes before your next message, teach User Intelligence how you work, on your Mac.
  • Save as memory on an answer turns it into a memory at the path you choose, delivered on future turns there.
  • When a chat gets long, Studio offers to Carry over to a new chat, which takes the context with it, or to Compact this chat. The context ring shows how full the window is.
  • When an engine reaches its usage limit, Chat shows when it resets and offers to Continue this conversation with another AI.
  • A message cut off before it was sent, by a restart or a lost connection, comes back with Send again and Discard.

Recent Chats searches both conversation titles and the messages inside them, and can include chats from your other devices.

Tabs, splits and windows

Every chat is a tab with its own engine and its own run state. Pin a tab, split up to four chats side by side, or open a chat in its own window. Several agents at once covers running engines in parallel, and Isolated branches gives a conversation its own branch and checkout.