# Honcho Integration

Integrate Honcho memory into existing Python or TypeScript codebases.

- Repository: https://github.com/plastic-labs/honcho (7877 stars)
- Category: Engineering
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add plastic-labs/honcho --skill honcho-integration -g -a claude-code -y`
Codex: `npx skills add plastic-labs/honcho --skill honcho-integration -g -a codex -y`
Cursor: `npx skills add plastic-labs/honcho --skill honcho-integration -g -a cursor -y`
Gemini CLI: `npx skills add plastic-labs/honcho --skill honcho-integration -g -a gemini-cli -y`

## Description

Integrate Honcho memory into existing Python or TypeScript codebases. Use when adding Honcho SDK, setting up peers, configuring sessions, and accessing Honcho's representation.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Honcho Integration Guide

## What is Honcho

Honcho is an open source memory library for building stateful agents. It works with any model, framework, or architecture. You send Honcho the messages from your conversations, and custom reasoning models process them in the background, extracting premises, drawing conclusions, and building rich representations of each participant over time. Your agent can then query those representations on-demand ("What does this user care about?", "How technical is this person?") and get grounded, reasoned answers.

The key mental model: **Peers** are any participant, human or AI. Both are represented the same way. `observe_me` is a peer-level flag (`PeerConfig`) controlling whether Honcho forms a representation of *that* peer; typically you want Honcho to model your users (`observe_me=True`) but not anything with deterministic behavior (`observe_me=False`). `observe_others` is a separate per-peer `SessionPeerConfig` setting that controls whether that peer forms representations of the *other* participants in a session. **Sessions** scope conversations between peers. **Messages** are the raw data you feed in, Honcho reasons about them asynchronously and stores the results as the peer's **representation**. No messages means no reasoning means no memory.

Your agent accesses this memory through `peer.chat(query)` (ask a natural language question, get a reasoned answer, a few seconds of live reasoning) or `session.context()` (near-instant read of formatted history + representation). Prefer `context()` for per-turn grounding; use `chat()` when you need a reasoned answer.

## Reference map

Follow the workflow below. Read a reference file only when you reach the step that needs it:

The rest: https://github.com/plastic-labs/honcho/blob/HEAD/skills/honcho-integration/SKILL.md
