# Claude Desktop now runs with Context Mode: saving, memory and skills in the app you use

October 28, 2026 Launch 6 min read

Thanks to the Claude Desktop team at Anthropic for a third-party inference setting that lets you choose where the app sends its requests, and thanks to the Context Mode community. Starting today, Claude Desktop connects to Context Mode with one command. You keep the app and your model. On a Mac, sign in to Claude Code first: the app uses that login. Every request then gets Saving, Memory, Skills, Instructions and Recall, and the console shows these turns as Claude Desktop. Turn on the app's own setting first, then run the Context Mode command.

## TL;DR

- **The native way first:** in Claude Desktop, Help → Troubleshooting → Enable Developer Mode, then Developer → Configure Third-Party Inference… ([Anthropic's docs](https://claude.com/docs/third-party/claude-desktop/in-app-configuration)).
- **The shortcut:** `npx @context-mode/cli setup --agent claude-desktop`. It writes an entry named `contextmode` in that same window and switches the app to third-party mode.
- **Quit with Cmd+Q** and open the app again. Closing the window is not enough.
- **Check it:** `npx @context-mode/cli doctor`, then ask Claude anything. Your request shows on the console.
- **Undo:** `npx @context-mode/cli disconnect --agent claude-desktop`.
- **macOS:** these steps are for a Mac. On Windows and Linux, setup stops and says what it needs; we have not verified Claude Desktop there.
- **Limits:** Protect is not verified on Claude Desktop yet. The Chat tab login is not verified. Session resume does not apply.

[Open the Console](https://console.context-mode.com/login) to get your workspace, then follow the steps below.

## How to connect Claude Desktop to Context Mode

This post answers one question: how do you connect Claude Desktop to Context Mode? Pick a step to see the exact command and what it prints. These steps are for macOS.

Step

Native way Sign in Setup Restart Check

```
# Get the app: claude.com/download
# Then, in Claude Desktop:
Help → Troubleshooting → Enable Developer Mode
Developer → Configure Third-Party Inference…
  → Connection → Apply Changes
```

Download the app from [claude.com/download](https://claude.com/download). Then use Anthropic's own window, from [the in-app configuration docs](https://claude.com/docs/third-party/claude-desktop/in-app-configuration). The shortcut fills in this same window for you.

```
$ npx @context-mode/cli login
# opens the browser: sign in once
# then it offers the app picker
```

Sign-in gives this terminal a device key. If you pick Claude Desktop in the picker, it runs the same setup as the next step. You need only one of the two.

```
$ npx @context-mode/cli setup --agent claude-desktop
Claude Desktop (third-party gateway mode): ~/Library/Application Support/Claude-3p/configLibrary/<id>.json
  set inferenceProvider
  set inferenceGatewayBaseUrl = https://gateway.contextmode.ai
  set inferenceGatewayAuthScheme
  set inferenceCredentialHelper
  set inferenceCredentialHelperTtlSec
  set inferenceCustomHeaders (x-cm-device-key)
  set inferenceModels
  apply the "contextmode" configuration
  set deploymentMode = 3p in …/Claude-3p/claude_desktop_config.json
  helper ~/.context-mode/claude-desktop-cred.sh (prints your Claude Code login token from the keychain)
Done. Quit Claude Desktop fully (Cmd+Q) and open it again: it reads this configuration at launch.
See or change them in the app: Help → Troubleshooting → Enable Developer Mode, then Developer → Configure Third-Party Inference….
```

It names every key it sets and never prints a key or token. Add `--dry-run` to see the list with nothing written.

```
# not the red button: quit the app
Cmd+Q
# then open Claude Desktop again
```

Claude Desktop reads this configuration at launch. A closed window keeps the old route.

```
$ npx @context-mode/cli doctor
Gateway: https://gateway.contextmode.ai
Console: https://console.contextmode.ai
Reachable    ok
Device key   ok
Claude Desktop ok (…/configLibrary/<id>.json)
```

Then ask Claude anything in the Code tab. Your request shows on the console within a minute, named Claude Desktop.

### 1. Turn on the app's own setting

Claude Desktop has a built-in window for a third-party gateway. This is Anthropic's own way, and it is where you can see and change the entry later:

1. Help → Troubleshooting → Enable Developer Mode.
2. Developer → Configure Third-Party Inference… → Connection → Apply Changes.

The full steps are in [Anthropic's in-app configuration docs](https://claude.com/docs/third-party/claude-desktop/in-app-configuration).

### 2. Run the Context Mode command

```
npx @context-mode/cli setup --agent claude-desktop
```

It needs Node 20.12 or later. If this terminal is not signed in yet, run `npx @context-mode/cli login` first. It signs you in and stores a device key (`cmdk_…`) in `~/.context-mode/credentials.json` with mode 0600.

Setup then writes the same entry you would make by hand, named `contextmode`, applies it, and switches the app to third-party mode. After the write it names the keys it set and the window where you can check them: Developer → Configure Third-Party Inference….

- It is for macOS. On Windows and Linux it writes nothing and says what it needs. We have not verified Claude Desktop there.
- It never writes or prints an API key. On a Mac, the entry reads the Claude login that Claude Code keeps in your keychain, so sign in to Claude Code first.
- It keeps a record of what it did, so `disconnect` undoes exactly that. An entry you had applied before comes back.
- It writes nothing if a config file does not parse.
- Run it again with nothing to change, and it writes nothing.
- `--dry-run` shows the changes and writes nothing. `--check` writes nothing and tells you if the app is set up.

The gateway removes the device key before a request goes to Anthropic.

### 3. Quit with Cmd+Q and open it again

Claude Desktop reads this configuration only at launch. Close the window, and the app keeps running on the old route. Quit it fully with Cmd+Q, then open it again. On Windows or Linux, quit the app fully, not only the window.

### 4. Check it worked

```
npx @context-mode/cli status     # who is signed in, and each agent's setup
npx @context-mode/cli doctor     # check the config, the gateway and the device key
```

Then ask Claude anything. Your request shows on the [console](https://console.contextmode.ai) within a minute, named Claude Desktop.

## Does Claude Desktop work with a gateway?

Yes. Claude Desktop has a third-party inference mode, and Anthropic documents it. In that mode the app sends its model requests to the address you set. Context Mode sits there, between the app and Anthropic. Its Code and Cowork tabs send the same requests as Claude Code, so they get the same features. Which login the Chat tab uses through the gateway is not verified yet.

## What you get in Claude Desktop

Pick a feature to see one example in Claude Desktop. Each one works on every request the app sends through the gateway. We measured them on Claude Code, not on Claude Desktop, so this post quotes no number.

Feature

Saving Memory Skills Instructions Recall Protect

```
You, in the Code tab:
"run the tests and fix what fails"
# the full test log goes to your archive
# the model reads the failing test, not every line
```

Large tool output (logs, fetched pages, big files) stays out of the model's context. Works on every request; measured on Claude Code.

```
Monday, in the Code tab:
"We deploy to Render now, not Hetzner."
Thursday, a new conversation:
"Where do we deploy?"
Render. It was Hetzner before.
```

Rules, decisions and preferences come back in later sessions, so you do not repeat yourself. Code and Cowork turns are stored as Claude Code turns. The Chat tab is not verified.

```
You, in Claude Desktop:
"write the release notes for this sprint"
# your imported release-notes skill loads for this turn
```

Import skills once, for example from GitHub. They run from the gateway, so there is nothing to install on each machine.

```
// Console: Settings → Instructions
Keep answers short. No wall of text.
Never touch code or technical terms.
```

Write your rules once. Every Claude Desktop request carries them, on every machine. What you ask in the message comes first.

```
You, late in a long session:
"what did we decide about the quota check this morning?"
# the agent reads the decision back from the archive
```

Long history is archived, not lost. The agent asks for older work back when it needs it. Works on every request; measured on Claude Code.

```
$ git push origin main
# Claude Code, Codex: blocked by your rule
# Claude Desktop: not verified yet
```

Protect is enforced on Claude Code and Codex. On Claude Desktop it is not verified yet, so do not count on it to stop a command.

| Feature | In Claude Desktop | Measured on Claude Desktop |
| --- | --- | --- |
| [Saving](https://contextmode.ai/docs/how-saving-works) | Yes, every request | No (measured on Claude Code) |
| [Memory](https://contextmode.ai/docs/memory) | Yes, stored as Claude Code turns; Chat tab not verified | No |
| [Skills](https://contextmode.ai/docs/skills) | Yes, every request | No |
| [Instructions](https://contextmode.ai/docs/instructions) | Yes, every request | No |
| [Recall](https://contextmode.ai/docs/recall) and [Search](https://contextmode.ai/docs/search) | Yes, every request | No |
| [Active Context](https://contextmode.ai/docs/active-context) | Yes, every request | No |
| Thinking in Code | Yes, every request | No |
| [Protect](https://contextmode.ai/docs/protect) | Not verified yet | No |
| [Session resume](https://contextmode.ai/docs/session-resume) | No | Not applicable |
| "⏺ contextmode" line | Not verified in the app | No |
| Console name | Claude Desktop | Not applicable |

## Memory for Claude Desktop

Each new conversation in Claude Desktop starts fresh. With Context Mode, what you told it last week comes back: "we deploy to Render", "use pnpm", "no default exports". The Code and Cowork tabs are Claude Code on the wire, so Memory stores their turns as Claude Code turns. When a value changes, the old one is closed, not deleted. Read [how Memory works](https://contextmode.ai/docs/memory).

## Skills and Instructions for Claude Desktop

Import a skill once, for example from GitHub. When a request fits it, its instructions load on their own, in Claude Desktop and in your other connected apps. Instructions are the rules you write yourself in the console: write them once and every request carries them. Read about [Skills](https://contextmode.ai/docs/skills) and [Instructions](https://contextmode.ai/docs/instructions).

## Say this plainly

- **After setup, quit with Cmd+Q, not only close the window.** The app reads its configuration at launch.
- **The Chat tab:** which login it uses through the gateway is not verified yet. The Code and Cowork tabs send the same requests as Claude Code.
- **Protect** is not verified on Claude Desktop yet. It is enforced on Claude Code and Codex.
- **The "⏺ contextmode" line** is not verified in the app. Check the console instead.
- **Session resume** does not apply to Claude Desktop.
- **Numbers:** our benchmarks ran on Claude Code. We do not quote them for Claude Desktop.

## How to undo it

```
npx @context-mode/cli disconnect --agent claude-desktop
```

It removes the `contextmode` entry, applies the entry you had before, and puts the app back on its own sign-in. Quit with Cmd+Q and open it again.

## Start now

Turn on the app's setting, run one command, quit with Cmd+Q. [Open the Console](https://console.context-mode.com/login) to see your workspace.

```
npx @context-mode/cli setup --agent claude-desktop
```

- Console: [console.contextmode.ai](https://console.contextmode.ai) ([start free](https://console.context-mode.com/login))
- CLI: `npx @context-mode/cli`
- Docs: [Quick start](https://contextmode.ai/docs/quick-start) and [the CLI](https://contextmode.ai/docs/cli)

One command and one picker connect Claude Code, Claude Desktop, Codex, Codex Desktop, T3 Code, OpenCode and Pi: [see all of them](https://contextmode.ai/blog/seven-coding-agents-one-gateway). Each has its own post, with its makers' install first: [the ChatGPT desktop app](https://contextmode.ai/blog/codex-desktop-context-mode), [Pi](https://contextmode.ai/blog/pi-coding-agent-context-mode) and [T3 Code](https://contextmode.ai/blog/t3-code-context-mode). Context Mode is under the Elastic License 2.0 (ELv2).

[Get started free](https://console.context-mode.com/login) [All posts](https://contextmode.ai/blog)
