---
title: "The stdio shim for Claude Code and other hosts"
description: "A host such as Claude Code starts the stdio shim as a child process. The shim exchanges MCP messages over standard input and output and forwards every message to the local server's socket."
section: install
address: /install/the-stdio-shim
contract: 0476e35e6e275db5
---

# The stdio shim for Claude Code and other hosts

A host such as Claude Code starts the stdio shim as a child process. The shim exchanges MCP messages over standard input and output and forwards every message to the local server's socket.

[figure: A host starts the stdio shim as a child process, and the shim forwards each message to the local server's socket.]

Many hosts start an MCP server as a child process and exchange messages with it over standard input and output. The stdio shim is that process. The shim implements the protocol only, and it forwards each message to the local server over the local socket.

## Claude Code setup





```sh
claude mcp add scale-intelligence -- scale-local stdio
```




```json
{ "mcpServers": { "scale-intelligence": { "command": "scale-local", "args": ["stdio"] } } }
```




The desktop app installs the shim. A host that connects over a socket or a WebSocket uses [the local server's listeners](/install/the-local-server) directly and does not need the shim.

## Host capabilities

The host reaches every tool of the platform and the app's own tools. The host also gets four protocol extensions:

- tasks, for long steps
- apps, so a host that renders cards can show each card
- elicitation, for an approval that a running task may request
- resource subscriptions, for updates

A host that declares none of the extensions receives the text form of every card.

The first call is [`si.session.whoami`](/reference/tools/si-session-whoami). It returns the person or service that the host acts for, and the scope.
