whatisgithub

What is shannon?

dexhorthy/shannon — explained in plain English

Analysis updated 2026-05-18

204TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A command-line tool and library that drives Claude Code sessions from scripts and captures the output as structured data.

Mindmap

mindmap
  root((repo))
    What it does
      Automates Claude Code sessions
      Runs sessions inside tmux
      Captures structured output
    Tech stack
      TypeScript
      Bun
      tmux
    Use cases
      Scripted Claude workflows
      Custom tool integration
      Chaining multiple prompts
    Audience
      Developers building agents
      CLI tool builders
    Output formats
      Streaming JSON
      Single JSON object
      Plain text

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automate Claude Code tasks from a script instead of the interactive terminal.

USE CASE 2

Build a custom tool or agent that chains multiple Claude prompts together.

USE CASE 3

Capture Claude's responses as structured JSON for further processing.

USE CASE 4

Reuse an existing Claude login and session state without calling the API directly.

What is it built with?

TypeScriptBuntmux

How does it compare?

dexhorthy/shannonplacenl2026/best-of-algorithmic-tradingerezshahaf/lore
Stars204204208
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/51/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires the Claude CLI, tmux, and Bun installed, plus an existing Claude login.

So what is it?

Shannon is a command-line tool and code library that lets you drive an interactive Claude Code session programmatically and capture the output as structured data. Normally, Claude Code is designed for interactive use in a terminal, you type prompts and read responses. Shannon solves the problem of using Claude Code from scripts, automated workflows, or your own applications without calling the Anthropic API directly. It works by starting a real Claude session inside tmux, a tool for managing terminal sessions in the background, then sending your prompt to that session and reading Claude's on-disk transcript file to capture the responses. Because it drives the actual Claude CLI rather than calling the API itself, it reuses your existing Claude login and any session state or context that comes with it. You would use this if you want to automate Claude Code tasks from a script, integrate Claude into a custom tool, or build agents that chain multiple Claude prompts together while receiving structured output. It outputs responses in streaming line-by-line JSON format, single-object JSON, or plain text. It can be used as a command-line tool or imported as a library. It requires the Claude CLI, tmux, and Bun to be installed on your machine. Built with TypeScript.

Copy-paste prompts

Prompt 1
Explain how Shannon starts and drives a Claude Code session inside tmux.
Prompt 2
Walk me through installing the Claude CLI, tmux, and Bun so Shannon can run.
Prompt 3
Show me how to use Shannon as a library to capture Claude's response as structured JSON.
Prompt 4
What is the difference between Shannon's streaming JSON output and its single-object JSON output?
Prompt 5
Help me design a script that chains several Claude prompts together using Shannon.

Frequently asked questions

What is shannon?

A command-line tool and library that drives Claude Code sessions from scripts and captures the output as structured data.

What language is shannon written in?

Mainly TypeScript. The stack also includes TypeScript, Bun, tmux.

How hard is shannon to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is shannon for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.