---
created: 2026-03-28T18:31:32.683Z
title: Move Psyches to dedicated external threads
area: tooling
files:
  - SKILL.md
  - owl.sh
  - docs/SKILL_SPEC-LIVE.md
---

## Problem

Psyche agents currently run as background subagents (via Agent tool with `run_in_background: true`). Their pulse messages arrive as background task notifications that interject into the main terminal flow, disrupting the user's interaction with Self. This is especially noticeable when pulses fire during active conversation — they appear as unexpected task completion notifications.

## Solution

Move Psyches to dedicated external threads (separate Claude Code sessions/processes) rather than background Agent subagents within Self's session. This way:
- Psyche pulses are delivered purely through owl messaging, not task notifications
- Self receives pulses as normal owl messages on its listener (already the case for content, but the task-notification wrapper goes away)
- Psyche lifecycle is decoupled from Self's session — survives context clears without needing respawn
- Requires a mechanism to launch and manage external Claude Code threads from within a session
