A Pointman extension that puts Claude Code, Anthropic's coding agent, on your machines, so agents spawned as
claude run on it. It's a client: nothing runs beside it.
Its manifest says how a node installs it, signs it in and talks to it ([client], v2).
pointman add claude
-
Installing:
pointman add claudeinstalls Anthropic's native build of Claude Code on every node of the workspace that hasn't got it, and on a node that joins later.--nodes <machine>adds it there only. The build is checked against the sha-256 in Anthropic's manifest, then set up by its ownclaude install, which links~/.local/bin/claudeand keeps it up to date. Nothing else is needed on the machine. -
Yours stays yours: a Claude Code you installed yourself (Claude's own installer, Homebrew, npm, nix)
counts as installed and comes first.
pointman addleaves it as it is,pointman upgradedoesn't touch it, andpointman removenever takes it away. -
Signing in: sign Claude Code in once on each machine (
claude auth login).pointman healthand the apps' Machines page say when one is signed out. -
Spawning: a node runs agents on any client it has, so with Claude Code there,
/spawn <name> claude [machine] [~/folder]in a thread starts an agent on it. Spawning on a machine without it is refused at once, with the fix:pointman add claude --nodes <machine>.
-
pointman upgrademoves the copiespointman addinstalled to their newest. -
pointman remove claudetakes the node's own copy away, and nothing else. -
pointman listshows Claude Code on each machine,added(bypointman add) oryours, andpointman healthits version, the newest there is, and whether it's signed in. - It takes no version: a node always installs the newest. This extension's own version only marks changes to its manifest.
None. Claude Code keeps its own settings, as it does outside Pointman.
[client]
npm = "@anthropic-ai/claude-code" # where its newest version is said
binaries = ["claude"]
protocol = "claude-stream" # stream-json in and out
live = true # its agents can join a voice call
api_keys = ["ANTHROPIC_API_KEY", "ANTHROPIC_AUTH_TOKEN"] # never passed to a run: runs are on its own login
[client.install]
from = "native" # its own installer (claude install latest)
[client.sign_in]
how = "claude auth login"
check = ["auth", "status", "--json"]
[client.mcp]
via = "flag"
args = ["--mcp-config", "{value}"][client] v2 (Pointman release 20) says what a node needs: its programs, how its runs talk (protocol), how a
node installs it, how it signs in, how MCP servers reach it, and its vendor's API keys, which never reach a run.
live = true says its agents can join a voice call: a session takes words mid-turn, streams its text and stops
when asked.
Claude Code is built into the node as code, and this manifest has to say what that code does: a test in Pointman
checks they agree. A client still stands alone: no [run], behaviour, files, links, rules or settings. The
format is in Pointman's docs/dev/extensions.md.
Bump version in extension.toml, commit, and make a GitHub release (not a draft or prerelease) tagged
v<version>. There's nothing to build, so it has no assets. The marketplace lists it within 30 minutes.
MIT. See LICENSE.