configuring-your-harness
Configuring Your Harness
Use this skill to configure deterministic Letta Code harness behavior, primarily permissions and lifecycle hooks. It can also help with local per-agent settings like toolset, model, context window, name, and description.
Memory vs harness
Keep these layers separate:
| Layer | What it is | How to change it |
|---|---|---|
| Memory | Learned state, memfs files, conversation recall, skills | Edit $MEMORY_DIR, use memory tooling, create/update skill files |
| Harness | Deterministic runtime config around the agent | Edit Letta settings JSON or call the Letta API |
Edit memory when the agent should remember or learn something. Edit the harness when runtime behavior should deterministically change.
Do not edit harness settings for ordinary preferences like “remember I prefer concise answers.” Store those in memory. Do edit harness settings for deterministic behavior like “always ask before shell commands,” “add a hook to block unsafe edits,” or “change this agent’s toolset.”
Decision rule: if the LLM is responsible for choosing the behavior, store the instruction in memory. If the harness should enforce the behavior outside the LLM, use this skill.