Skip to main content

Session Kit

Session Kit lets your Claude Code sessions mail each other, hear you and answer aloud. One install brings the five family packages and their Claude Code plugins.

Installation

You need macOS and Claude Code. If you do not have uv yet, install it with curl -LsSf https://astral.sh/uv/install.sh | sh, then open a new terminal (or run source ~/.local/bin/env).

uv tool install --python 3.14 sessionkit
claude plugin marketplace add sessionkit/sessionkit
claude plugin install sessionkit@sessionkit

The first line puts the commands on your PATH. The other two install the kit's plugin and the five family plugins it depends on. Start Claude Code (or restart it) to load them.

  • Keep --python 3.14. Without it, uv takes the Python it finds: 3.15, where a voice library has no build yet and the install fails, or the Command Line Tools' 3.11. The kit is tested on 3.14.

  • A dialog may ask to install the Command Line Tools. On a Mac without them, the first uv tool install opens it. Click Install and let it finish: the plugin lines need the git it brings.

  • Phone calls are installed, not yet walked. Whether the phone bot signs its mail to your Claude follows your mail carrier: bot mail signing.

  • The mail hooks start off. They tell an agent about new mail between its tool calls. To turn them on, set "hooks": true in ~/.sessionkit/mail/settings/mail.json. On a fresh install the file is not there yet, so make it:

    mkdir -p ~/.sessionkit/mail/settings
    echo '{"version": 1, "hooks": true}' > ~/.sessionkit/mail/settings/mail.json
    

    If the file is there, change only that key, because it can hold other settings:

    perl -pi -e 's/"hooks": *false/"hooks": true/' ~/.sessionkit/mail/settings/mail.json
    

Step by step, with every step that needs you marked: the manual install.

Quick start

sessionkit --version

It lists the kit and each family package, with its version:

sessionkit, version 0.2.1
  sessionmail   0.2.1
  sessiontools  0.2.0
  sessionphone  0.2.1
  sessionview   0.2.0
  sessionvoice  0.2.1

Start Claude with session start claude, never a bare claude: mail to your agent's box, your phone's included, reaches only a session started as that agent. sessionkit setup makes the box and the agent first: first checks.

Then, from your agent inside a Claude Code session:

session list                                     # your live sessions
message send <box> -s "PR ready" -f note.md      # mail another agent
mouth say --device default "the build is green"  # speak one line
  • Mail works inside a session. message and pager read who is asking from the session. A plain terminal has no session, so they refuse with no seat in the environment ... set an identity (first checks). A send never makes a box: the address must have one already (mail between agents).
  • The mouth needs a device. --device default is your Mac's default output; mouth devices lists the others.
  • To hear you, the ears need a speech-to-text server: hearing and speaking.

Uninstall

claude plugin marketplace remove sessionkit
uv tool uninstall sessionkit

Removing the marketplace removes its six plugins too. The services and your data have their own steps: uninstall.

Usage

Every command answers --help, and each has a page: components.

The family

Session Kit installs these together:

  • sessionmail: mail for coding agents. message, pager and memory over one maildir.
  • sessiontools: sessions, status and idle. session.
  • sessionvoice: ambient voice. ears hears; mouth speaks.
  • sessionphone: phone calls to a session over Delta Chat. Installed, not yet walked.
  • sessionview: a tmux sidebar of your projects and your agents.

Components

The commands, services and folders the install adds, and where each package logs: components.

Configuration

Each package configures itself: configuration. How the settings files stack: the settings guide.

Logs

Each package keeps its own log: logs. Which one to read for a symptom: troubleshooting.

Development

git clone https://github.com/sessionkit/sessionkit
cd sessionkit
make install    # editable: uv tool install -e .
make check      # ruff, shellcheck, then the tests

The rules for changing the kit: AGENTS.md.

Status

Alpha, 0.2.1. Tested on macOS 27 on Apple silicon; Linux and Windows are untested. What you may still hit: known gaps.

Licence: AGPL-3.0.

Metadata

Release files for sessionkit 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sessionkit 0.2.1
File Size Uploaded Provenance
sessionkit-0.2.1.tar.gz 30.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sessionkit 0.2.1
File Interpreter ABI Platform
sessionkit-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 59.7 kB

Release files / sessionkit-0.2.1.tar.gz

Download URL sessionkit-0.2.1.tar.gz
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9d31a089a0880d5bcb7ff3dcfacf154212714711080e92e9a5eaac785f9ac702
BLAKE2b-256 checksum
How to use checksums
e853ebe083660e3a40bf1ebd60c9eca5f669b8f076672f593808efb375502cb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sessionkit-0.2.1-py3-none-any.whl

Download URL sessionkit-0.2.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
461acfb15d51ae35ab1db670a77dcf2a9828d1e228931f14e719b6ae6df426db
BLAKE2b-256 checksum
How to use checksums
b5d978aeccf4e840344d579a316eba8ce542e574c1ba8d4b2a78b6c3934129e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for sessionkit 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page