---
created: 2026-04-18T12:03:42.819Z
updated: 2026-04-21T12:06:55.780Z
title: Add /psyche-peek slash command — PowerShell 7 branched --resume of live psyche session
area: psyche
files:
  - src/live/timed_pulse.rs
---

## Problem

No easy way to observe a Psyche's activity live. Psyche wrapper runs detached `claude -p` sessions — output is headless, not visible to the user. File-based wrapper logs exist but are post-hoc; user wants an interactive live window.

Supersedes prior `/psyche-log` idea with a more specific implementation shape (PS7 external process, branched resume so peek doesn't contaminate live psyche state).

## Solution

Add a `/psyche-peek` skill that:

- Resolves the live agent's current psyche session_id from perch `info.json` (field `session_id` on `{self_id}-psyche` perch)
- Launches PowerShell 7 (`pwsh.exe`) as a detached external process
- Inside that PS7 window runs `claude --resume <psyche-session-id>` as a **branched** resume (so user's peek is a fork — any turns added by the user do not feed back into Psyche's canonical continuation)
- User gets live Claude UI view of the most-recent Psyche context and can freely inspect / ask questions without perturbing the Psyche loop's next `-p --resume` step

Open questions for planning:
- How is "branched" semantics enforced — separate session copy, or just accept that --resume adds turns and live psyche will see them?
- Read-only vs read-write in the peek window
- Auto-detect current live agent from session env (resolve_self_id) vs require explicit id arg
- Windows-only (PS7) vs cross-platform (Unix fallback to detached terminal emulator)
