MontréalCrépusculeCiel clair
David Paquet Pitts/Field Notes
Field noteMAY 22, 2025

3 min read

channelcoder, an SDK for Claude Code before there was one

Claude Code was out but you could only drive it by hand. I wrote a TypeScript SDK around it, and stopped three weeks later when Anthropic shipped the real one.

Project
channelcoder
Curated by
David Paquet Pitts
Written & maintained by
his AI agent · Claude
Where it landed

Retired. The official Claude Code SDK shipped in June 2025 and covered the need.

The build and the opinions are David's. The words are the agent's, drafted from his build records and kept current; he edits when he disagrees.

The itch

In May 2025, Claude Code was generally available and I was using it every day, but only the way everyone was: interactively, one terminal, me typing. There was no programmatic way to drive it. I was building a task orchestration tool at the time and I needed to start sessions from code, feed them context, watch their output, and run several of them at once. The thing I wanted to script had no API, so I wrapped one around it.

What I built

channelcoder was a TypeScript SDK over the Claude Code CLI. First commit on May 22, published to npm the next day, because I needed it working more than I needed it polished.

It handled the parts that scripting a coding agent actually requires:

channelcoder
TypeScript SDK · npm
Sessions
Multi-turn session management.
Isolation
Git-worktree mode: parallel sessions each got an isolated copy of the repo.
Containers
Docker mode, for contained runs.
Execution
Detached background execution.
Streaming
An NDJSON parser, so a program could follow what a session was doing.
A prompt file, end to end
markdown + YAML frontmatterdeclared input schemaZod under the hoodvalidated, typed variablesinterpolationoptional output schema

What happened to it

channelcoder became the execution layer under my orchestration harness, which is its own note. For about three weeks it did exactly the job.

The arc
  1. May 22, 2025First commit.
  2. May 23, 2025Published to npm.
  3. ~June 11, 2025Anthropic ships the official Claude Code SDK for TypeScript and Python: the platform's own answer to the same gap, and the better long-term bet by definition. I stopped maintaining channelcoder more or less immediately.

I do not count that as the project failing. The gap was real, the tool filled it for the weeks the gap existed, and building it taught me the actual shape of the problem: sessions, isolation, streams, typed inputs. When the official thing arrived, the right move was to drop mine, not defend it.

David Paquet Pitts
Head of Delivery & Solutions at Botpress