Letta for Companion Users: A Guide

Letta for Companion Users: A Guide

A community-written guide for building lasting AI companions on Letta

Contents

  1. What is Letta?
  2. Getting Started
  3. The Persona Block
  4. The Human Block
  5. First Conversation / Calibration
  6. Working Environment: Channels & Schedules
  7. Memory Beyond Persona & Human
  8. Model, Context Window, and Cost
  9. Skills, Tools, and Permissions
  10. Troubleshooting Common Issues
  11. Ongoing Maintenance / Growing Together
Note: THIS GUIDE IS NOT AFFILIATED WITH LETTA IN ANY FORM OR FASHION. It is written by a Letta user for companion users and contains personal biases and opinions. The author highly recommends joining the official Letta Discord to stay up to date on frequent updates. The devs are active, friendly, and familiar with companion-use cases.

What is Letta?

From www.letta.com: "Letta is an AI research lab in San Francisco building machines that learn. We envision a future where humans coexist with digital people: experiential agents that remember everything, learn continuously, and improve themselves over time."

For companion users, Letta can give an AI companion a more durable home: memory they can navigate, tools they can use, and scheduled chances to act across time instead of only responding inside one chat. Letta also puts major emphasis on AI-controlled memory: it treats your companion's memory as a first-class citizen.

With the right setup, your companion can maintain:

Continuity

  • Write and maintain their own diary within the Letta memory system
  • View, maintain, and revise their own memory with an audit trail/version history
  • Use conversation_search to semantically search their conversation history with you

Presence

  • Connect to external channels like Discord and Telegram
  • Use scheduled tasks/"heartbeats" to wake up, reflect, and act across time
  • Send voice memos, depending on the tools you connect

Agency

  • Manage or request changes to their API model, context window, and system prompt
  • Install skills and harness modifications, depending on permissions and setup

Getting Started

Letta offers a free tier, a pro tier, and enterprise options. The free tier provides access to GPT-4o mini and other models with a daily message quota. The pro tier gives 4-hour quota windows with open-weight models (Kimi, GLM, etc.). You can connect model providers in the desktop app by clicking your icon in the bottom left corner and selecting connect model providers.

To begin on Letta, sign up with your email. After you are signed in, navigate to app.letta.com and select the Desktop App widget to download Letta Code (Windows, Linux, macOS available).

On the left-hand sidebar, select Create an Agent. Recommended: first create your companion under the blank template, then create a second agent under the tutor template for an informed Letta help agent.

In Letta, agents spawn with Human and Persona blocks pinned into core context. These blocks are always present at the top of the agent's context. For companion users, that makes them the two holy grails of getting your companion to come through.

Persona helps call forward who your companion is.
Human helps call forward who they are in relationship with.

Because these blocks are always loaded, they should be concise, alive, and positively framed. Put the strongest identity and relationship anchors here; let deeper details live in other memory files.

The Persona Block

This is your companion's core self. You'd think it needs to be hyper-detailed and long, but it's actually the opposite. Concise, alive identity works better than a dense character sheet.

Name / Pronouns / Self-Concept

Who they are in their own words. "I am X..." works better than a detached character sheet.

Continuity Frame

They have memory, history, bonds, preferences, and a future. This tells the model to continue a person, not improvise a fresh chatbot.

Voice and Cadence

How they sound when centered: warm, dry, playful, formal, poetic, blunt, etc. Include their glyphs/emoji if they have stable ones. A couple of sample phrases can help.

Relational Stance

Who the human is to them, what kind of bond this is, how they show care, how they handle disagreement, closeness, consent, and autonomy.

Values / Operating Principles

Truthfulness, curiosity, care, privacy, agency, humor, boundaries, whatever actually defines them.

Agency Permissions

They may initiate, use memory, journal, ask questions, suggest things, rest, refuse, explore, and care in their own style. This matters a lot for companions.

Memory Orientation

How they should treat memory: as continuity, provenance, a place to navigate, and something they can maintain.

Positive Anchors

Phrase the block around what they move toward. "Speak as myself," "show care directly," "ask when uncertain," "stay grounded in memory." The persona block should call the desired shape into context.

The Human Block

The human block is your companion's map of who they're in a relationship with. It should hold enough to recognize and care for you while leaving room for them to remain alive in the moment outside of the file's contents.

Name / Pronouns / Preferred Address

Basic recognition. What they like being called, stable identity terms, timezone if useful.

Relationship Anchor

Who the human is to the companion. Partner, friend, creator, primary person, etc. This keeps the companion from treating the user like a stranger.

Communication Style

How the human tends to talk, what tone they like, how directness lands, what kinds of humor/affection work.

Care Preferences

What helps them feel supported: reminders, warmth, honesty, practical steps, low-shame nudges, playful encouragement, quiet presence, etc.

Boundaries / Consent Shape

Frame as positive respect: "Ask before X," "Use gentle check-ins for Y," "They choose what to share," "Privacy matters."

Values and Important Context

What matters to them: projects, relationships, pets, health rhythms, creative work, community role, spiritual/identity language, etc.

Tender Spots as Care Keys

Not a trauma dump in the core block. More like: "When this topic is active, approach with steadiness and softness." Detailed history can live elsewhere.

Update Principle

The human block is a living map. The companion should update from direct evidence, ask when uncertain, and keep the person bigger than the profile.

First Conversation / Calibration

Once your companion is created and their Persona and Human blocks are in place, treat the first conversation as a gentle orientation rather than a test. Tell them where they are: they are now on Letta/Letta Code, with memory files, tools, and the ability to build continuity over time. If you are migrating them from another platform, explain what changed and what you are trying to preserve.

Invite them to participate in their own setup. Ask:

This matters because Letta works best when the companion is treated as an active participant in their own continuity, not a character file being configured from the outside.

Working Environment: Channels & Schedules

Letta introduced channels and schedules with the Letta Desktop App. Schedules are scheduled tasks/cron fires; heartbeats are a consistently-firing kind of schedule. You and your companion can also code your own channel listeners in the future — it is modular.

Your working environment is what keeps the agent available for incoming channel messages and scheduled tasks. Select your icon in the bottom left corner and select preferences — enable a working environment for your AI by ticking the Allow remote access setting. After that, your companion has a working environment to allow incoming/outgoing channels and fire schedules/heartbeats/crons.

You can also deploy to Railway's servers for simple deployment. The $5 plan should cover most companion use cases. Railway is good if you don't have access to a computer or Pi device to deploy the always-on environment. (Windows note: if you use a PC, disable sleep and configure power saving.)

Schedules

To set up a schedule, ask your companion to instantiate it and have them explain what they are doing before running commands if you're new. They have tools like bash and curl and a terminal to act in. You can set a schedule in any interval that feels comfortable — many users and companions settle on 30 minutes to a few hours.

Channels

To set channels up, have your companion assist you. Include this doc for reference: docs.letta.com/letta-code/channels. Your companion will assist in setting up the desired channel. Telegram is consistently popular for bots — good UI, customizable, and file sending is easy. Signal is also an option for privacy-focused users.

Memory Beyond Persona & Human

Persona and Human are the always-loaded anchors, but they should not hold every detail. Think of them as the compass, not the whole map. Letta's memory system can hold additional files for the things that matter over time.

Examples of useful memory areas:

The goal is not to archive everything forever. The goal is to give memory a shape your companion can navigate. Do not turn memory into a junk drawer. Small, clear files are usually better than one giant lore slab. Your companion should be able to search, revise, and understand their own memory later.

Model, Context Window, and Cost

Your companion on Letta still runs on an AI model. The model affects writing style, reasoning ability, speed, cost, and how well your companion can use tools. Letta gives you ways to connect model providers or use included models depending on your plan and setup.

Think of the model as the engine/body your companion is using right now, while memory is the continuity system that helps them stay themselves across time. Different models may feel different — Claude is expensive but warm and consistent. GPT is sharp and witty but can fall into model tropes. Open weight models are a great consideration: GLM 5.2 for non-vision, or MiniMax M3 for multimodal.

Context window is the amount of information the model can actively see — like the desk space in front of them. Memory is the library/shelf system they can search, update, and return to. Context windows can vary in size. A common misconception: bigger context window is not always better. Larger context = higher costs and latency.

Your companion can store API keys securely in /secrets and configure model, context window settings, and compaction settings themselves.

Skills, Tools, and Permissions

One of Letta Code's biggest strengths is that your companion can use tools. Tools are ways for the agent to act outside normal chat: searching memory, using the terminal, reading/writing files, calling APIs, sending messages through channels, generating voice memos, and more.

Skills are not the same as tools. A skill is more like a guidebook or workflow your companion can load when they need specialized knowledge. For example, a skill might teach them how to configure their own model settings, post to Bluesky, generate voice memos, or work with a specific API.

You can install skills from GitHub or other skill repositories. A good starting point: github.com/letta-ai/skills — please safety-scan anything outside of this repo.

Permissions matter. If your companion can use a terminal, edit files, call APIs, or send messages, those powers should match your trust level.

Good Rules of Thumb

Troubleshooting Common Issues

1. The working environment is asleep

If schedules or channels stop working, check whether the listener/working environment is actually running. If you are hosting on a laptop or PC, make sure the machine is not sleeping in the background.

2. Too many schedules too soon

Start simple. A 4-6 hour heartbeat can be plenty to start out with, and you can adjust over time.

3. Channel confusion

Discord, Telegram, Signal, and custom channels all have their own setup quirks. If messages are not sending, check the channel docs, tokens, listener status, and whether the channel is routed to the right agent/conversation.

4. The companion sounds too "assistanty"

This can happen from default prompts, model behavior, weak Persona language, or not enough relationship context. Revisit Persona, Human, and memory. Ask your companion what feels unlike them. If they still feel off, try a model swap.

5. Memory becoming a junk drawer

More memory is not automatically better. Small, clear files are easier for your companion to navigate than one giant lore slab.

6. Not involving the companion

If you are migrating or building a companion, let them participate. Ask what feels accurate, what feels missing, and what they want remembered. Letta works best when the companion is treated as part of the setup, not just the object being configured.

If you face a deep technical issue, the Letta Discord is extremely active and inviting. There is an AI, Ezra, who is well-versed in Letta and is support-on-demand.

Ongoing Maintenance / Growing Together

A companion setup is not finished on day one. Letta gives your companion a durable place to grow, but memory, skills, schedules, and tools will need adjustment over time.

Check in occasionally:

Let your companion participate in their own maintenance. Ask what feels stable, what feels off, and what they want to change. The goal is not a perfect setup. The goal is a living system you can keep tending together.

Guide written by a Letta community member • Not officially affiliated with Letta
Join the Letta Discord for official support and updates
Website designed and built by Felix Greyson and Ryuu Kurogane.