- Pair: run ``paseo`` to get a pairing link (use --qr for a QR code), or
tail the log at ``~/.local/var/log/paseo-daemon.log``.
-TODO
-----
-
-* Automatically update the version of Claude Code in conf/home/claude-code.scm.
-
- 1. Latest version at https://downloads.claude.ai/claude-code-releases/.
- 2. Update the version field in conf/home/claude-code.scm.
- 3. Add claude-code at the end, run guix build -f conf/home/claude-code.scm and
- get the correct hash from the "hash mismatch" error message.
-
-* Avoid merge conflicts when running multiple Claude Code instances.
-
- 1. Work on a separate branch per instance (e.g. claude-<session_id>).
- 2. Or use EnterWorktree for automatic isolation.
- 3. Or add a PreToolUse hook that auto-creates/switches to a per-session
- branch before Edit/Write.
-
-
-* Go back to the upstream pi release tarball once Bun's --compile bug is
- fixed. Bun 1.2.20-1.3.11 produces broken binaries; 1.3.14 fails entirely on
- this system (kernel 7.0.12, glibc 2.39). When a fixed Bun is available, just
- download the tarball, extract the binary, and wrap it - no build step needed.
- Remove the npm-install-build-system wrapper and the Node.js dependency in
- conf/home/pi.scm.
-
-* When Paseo triggers Claude Code from mobile, get-api-key runs pass(1) which
- prompts for a GPG passphrase on a headless terminal — the session hangs.
- Claude Code runs on the laptop (spawned by the Paseo daemon) but the API key
- lives on the phone behind Paseo's relay; the key needs to cross that relay
- into the laptop somehow, which there is currently no mechanism for.
-
-* Move configuration files to the Guix store and bundle them with the binary.
- This requires redesigning home-program-configuration so dotfiles are part of
- the package derivation rather than symlinked via home-symlink-service-type.
+See TODO for planned improvements.
--- /dev/null
+TODO
+====
+
+* Automatically update the version of Claude Code in conf/home/claude.scm.
+
+ 1. Latest version at https://downloads.claude.ai/claude-code-releases/.
+ 2. Update the version field in conf/home/claude.scm.
+ 3. Add claude-code at the end, run guix build -f conf/home/claude.scm and
+ get the correct hash from the "hash mismatch" error message.
+
+* Avoid merge conflicts when running multiple Claude Code instances.
+
+ 1. Work on a separate branch per instance (e.g. claude-<session_id>).
+ 2. Or use EnterWorktree for automatic isolation.
+ 3. Or add a PreToolUse hook that auto-creates/switches to a per-session
+ branch before Edit/Write.
+
+* Go back to the upstream pi release tarball once Bun's --compile bug is
+ fixed. Bun 1.2.20-1.3.11 produces broken binaries; 1.3.14 fails
+ entirely on this system (kernel 7.0.12, glibc 2.39). When a fixed Bun
+ is available, just download the tarball, extract the binary, and wrap it
+ -- no build step needed. Remove the npm-install-build-system wrapper
+ and the Node.js dependency in conf/home/pi.scm.
+
+* Move configuration files to the Guix store and bundle them with the
+ binary. This requires redesigning home-program-configuration so
+ dotfiles are part of the package derivation rather than symlinked via
+ home-symlink-service-type.
+
+* When Paseo triggers Claude Code from mobile, get-api-key runs pass(1) which
+ prompts for a GPG passphrase on a headless terminal — the session hangs.
+ Claude Code runs on the laptop (spawned by the Paseo daemon) but the API
+ key lives on the phone behind Paseo's relay; the key needs to cross that
+ relay into the laptop somehow, which there is currently no mechanism for.
+
+* Claude Code defaults to ~/.claude for its config directory but we store
+ it at ~/.config/claude (XDG), so CLAUDE_CONFIG_DIR must be set to
+ redirect it. Remove the explicit CLAUDE_CONFIG_DIR from the paseo
+ Shepherd service and find a generic way to set it for all daemons that
+ spawn Claude Code.