Skip to content

Agents

Incise works with Claude Code

Incise implements Claude Code’s /ide integration. Connect once and Claude Code sees the file you’re editing and your current selection, and the edits it proposes open in Incise as diffs you accept or reject, with no extension to install.

What you get

  • Claude Code sees your active file and the text you have selected.
  • Edits it proposes open as diffs in Incise, where you accept or reject them.
  • Works on both editions; on the Homebrew edition you can even run Claude Code in Incise’s built-in Terminal (⌃`), which opens in your project folder.

Set it up

Works on both editions. The Mac App Store edition (sandboxed) adds one extra step (a one-time Home-folder grant) and needs an external terminal.

  1. In Incise, open the View menu and choose Enable Claude Code Integration, or turn on the same switch in Settings ▸ Agents, which also sums up these steps. On the Mac App Store edition this prompts once for access to your Home folder, so Incise can advertise itself in ~/.claude; the Homebrew edition needs no prompt.
  2. Open a terminal running Claude Code. On the Homebrew edition the built-in Terminal (⌃`) is easiest, since it opens in your project folder. On the Mac App Store edition, use any external terminal (the built-in Terminal is Homebrew-only).
  3. In Claude Code, type /ide and choose Incise from the list.
  4. You’ll see Claude Code confirm it’s connected to Incise. Nothing else changes in the terminal. What changes is what Claude can see, and where its output lands. The walkthrough below shows what that looks like.

For the underlying mechanism, see Claude Code’s IDE integration docs. Using a different agent (Grok Build, Antigravity, Codex, Cursor, VS Code)? Incise is also an MCP server. Don’t add that to Claude Code as well: /ide already covers it, and connecting both gets in the way. For everything else in Incise, see the full help.

Your first session

The thing to know up front: you never invoke any of this. There’s no command to run in Incise and no button to press to “send” a file. You keep typing requests in the terminal exactly as before. Claude Code opens diffs in Incise by itself, whenever it proposes an edit.

  1. Select something, then talk about it. Highlight a function in Incise and type “explain this” or “add error handling to the selected code” in the terminal. You don’t paste the code and you don’t name the file: Incise tells Claude which file is active and what you have selected, updating as you move around, so this resolves to whatever you’re looking at.
  2. Review edits as a diff, in Incise. When Claude wants to change a file, it doesn’t print a patch in the terminal. A diff pane opens inside the Incise window: current version against proposed, with a change count and Accept and Reject buttons in its header bar. Claude waits.
  3. Accept or reject. Accept and Claude applies the change and carries on. The file updates a moment later, since Claude performs the write, not the diff view. Reject and Claude is told you declined, and will usually propose something different rather than trying the same edit again.
  4. Carry on. There’s nothing to disconnect. Quitting the terminal ends the session; turning the integration off in View stops it entirely.

Things that catch people out

  • The diff opens as a pane inside the Incise window, not as a new tab. If you were expecting a tab, look for the header bar with Accept and Reject.
  • If Claude is running with edits auto-accepted, it won’t stop to show you a diff. That’s Claude Code’s permission mode, not Incise.
  • Your selection is live. Change it and Claude sees the new one on its next turn, so select first, then ask.
  • Claude can’t open a file in Incise through /ide: Claude Code keeps that action to itself. When you want one on screen, ask Claude to run open -a Incise path/to/file.

How the integration works

When you enable the integration, Incise runs a small local server that Claude Code connects to. It’s how Claude reads your active file and selection, and how its proposed edits open as diffs in the editor. Everything runs on your own Mac.

Transport & authentication. The server binds to 127.0.0.1 on a random loopback port and isn’t reachable from other machines. Each session generates a fresh random token that Claude Code must present to connect (an x-claude-code-ide-authorization header). The connection is a standard WebSocket carrying MCP (JSON-RPC).

Discovery. Incise writes a lock file at ~/.claude/ide/<port>.lock, a small JSON file with the port, the auth token, your open workspace folders, and "ideName": "Incise". That’s what /ide reads to find and connect to Incise. Lock files left by a closed Incise are pruned automatically.

What’s shared. While connected, only the path of your active file and your current selection are sent as context, never the contents of files you haven’t asked about. Incise’s server implements the standard set of IDE actions: open a file (optionally at a line range), open a diff and wait for you to accept or reject it, close a diff, read the current selection, list the open tabs, and list the open workspace folder. Claude Code decides which of them to use: it sends your selection automatically and opens diffs during edit approval, but it doesn’t let Claude call the others on request.

Local only. The integration makes no external network calls and sends nothing to any server: Claude Code runs on your own machine. It stays off until you turn it on in View ▸ Enable Claude Code Integration or Settings ▸ Agents.

Get Incise

Direct download

The full app, built-in terminal included. It checks for updates itself and shows what changed before installing.

Download for Mac

Version 1.16.1, macOS 13 or later, notarized and signed

Homebrew

brew tap incise-app/tap
brew trust incise-app/tap
brew install --cask incise

Mac App Store

View in App Store

The same app and just as free, in Apple’s sandbox, which rules out a built-in terminal. Compare editions