The January 9, 2026 Letta Office Hours episode covers message scheduling, GitHub Actions, Ralph mode, custom commands, subagents, and the note tool. Across those updates, Cameron favors simple, inspectable structures over machinery that hides how an agent stores context or completes work.
This guide is part of the Letta Office Hours archive. It records the product and design discussion from that date; current behavior belongs in the Letta documentation.
Selected chapters
- 00:01:30 Message scheduling arrives in Letta Cloud.
- 00:03:00 The switchboard backend is folded into the Letta path.
- 00:04:00 Creating one-time and recurring schedules via the API.
- 00:05:30 Managing scheduled messages and common cron patterns.
- 00:07:00 The Letta Code GitHub Action is introduced.
- 00:08:00 Running a headless agent inside a GitHub workflow.
- 00:11:30 Setting up a persistent office-hours agent.
- 00:16:30 Ralph mode and the push toward task completion.
- 00:38:00 Subagents and the role of specialization.
- 00:43:30 The note tool as structured memory.
- 00:53:00 Why documents often beat graph abstractions.
- 01:03:00 Conversation longevity and archiving into external tools.
Message scheduling moves time into the agent system
Message scheduling lets a user send an agent a one-time message or a recurring cron prompt. The episode describes moving this capability from an older switchboard service into Letta's main backend, where schedules can be created, listed, retrieved, and canceled through the API.
The examples include daily summaries, memory review, reminders, and recurring reflection. A schedule supplies the trigger; the agent still supplies the retained context and tools needed to act when the trigger fires.
GitHub Actions run Letta Code inside repository workflows
The GitHub Action runs Letta Code as a headless agent on issues or pull requests. It gives the agent repository context inside the workflow where triage and review already happen, rather than requiring a user to copy that context into a separate chat.
The episode also shows that a workflow can address an existing agent. Reusing an agent preserves its accumulated context across repository events, while the GitHub runner provides the current checkout and event payload.
Ralph mode tightens the completion loop
Ralph mode keeps an agent working through a multi-step task instead of accepting an early stop as completion. The demonstration deliberately provokes model failures to show why a control loop around the model can matter.
The mechanism belongs to the harness, not the model weights. The surrounding runtime can detect an incomplete result, return the agent to the task, and stop only when the task reaches its exit condition or another limit intervenes.
The note tool keeps memory readable
The note tool presents memory as records with attach and detach operations. Cameron argues that many agents need readable documents they can update and archive, rather than a database of every thought.
The same preference appears in the discussion of decisions, skills, and long-term archives. Plain documents and folders work when a person or agent can inspect the record, understand its current role, and revise it without reconstructing an opaque graph. More elaborate schemas become useful when the application needs relationships or queries that documents cannot express cleanly.
Subagents and commands package specialization
Subagents let a primary agent delegate exploration, planning, general work, or recall to a specialized worker. Custom slash commands package recurring prompts, while LettaCTL provides declarative fleet deployment. These mechanisms operate at different levels: commands reuse instructions, subagents divide work, and fleet configuration reproduces deployments.
The episode's practical caution is that specialization still needs legible state. A system with more agents and commands becomes harder to operate if nobody can tell which role owns a decision, where its context came from, or which result completed the task.
Memory stays useful through limits and maintenance
Audience questions return to memory size, decision preservation, graph design, and conversation length. Cameron favors bounded, inspectable records and treats conversation history as an early candidate for trimming when context grows too large.
Scheduling, repository automation, completion loops, and subagents all move work beyond one live chat turn. The note tool supplies a simple retained record for that work. The common design is persistence with visible structure: the agent can resume later, and a person can still inspect what it will resume from.