Skip to content

No way to bypass symlink restriction in collie hooks install claude #190

Description

@cryptiklemur

What happened, and what did you expect?

$ collie hooks install claude
error: /home/aaron/.claude is a symlink — refusing to write through it.
  Replace it with the real file or directory (or point the profile at the real one),
  then re-run `collie hooks install claude`.

Ideally, i could tell Collie to ignore the symlink, and write it anyways

Output of collie doctor --json

[
  {
    "check": "collie",
    "status": "ok",
    "detail": "v1.5.6+bc73318 · linux-x64",
    "remedy": null
  },
  {
    "check": "web-dist",
    "status": "ok",
    "detail": "16 entries, index.html present",
    "remedy": null
  },
  {
    "check": "path-link",
    "status": "ok",
    "detail": "/home/aaron/.local/bin/collie → /home/aaron/.local/share/collie/current/bin/collie (this checkout)",
    "remedy": null
  },
  {
    "check": "install",
    "status": "ok",
    "detail": "binary install, version 1.5.6 at /home/aaron/.local/share/collie (1 previous kept)",
    "remedy": null
  },
  {
    "check": "versions",
    "status": "ok",
    "detail": "current 1.5.6 · 1 retained (1.5.1)",
    "remedy": null
  },
  {
    "check": "update-source",
    "status": "ok",
    "detail": "github.com/AltanS/collie",
    "remedy": null
  },
  {
    "check": "herdr-socket",
    "status": "ok",
    "detail": "/home/aaron/.config/herdr/herdr.sock",
    "remedy": null
  },
  {
    "check": "bind",
    "status": "ok",
    "detail": "127.0.0.1 (mode solo)",
    "remedy": null
  },
  {
    "check": "bind-wildcard",
    "status": "ok",
    "detail": "bound to one address",
    "remedy": null
  },
  {
    "check": "acl",
    "status": "ok",
    "detail": "inbound packet filter is non-empty — can't disprove reachability; non-empty proves nothing",
    "remedy": null
  },
  {
    "check": "front-door",
    "status": "ok",
    "detail": "sovereign.zebroid-discus.ts.net:443 → http://127.0.0.1:8787 (recorded and live)",
    "remedy": null
  },
  {
    "check": "mux",
    "status": "ok",
    "detail": "herdr — see herdr-socket · set by COLLIE_MUX",
    "remedy": null
  },
  {
    "check": "beacon-hooks-claude",
    "status": "ok",
    "detail": "not needed — herdr reports agents itself; hooks installed: no",
    "remedy": null
  },
  {
    "check": "beacons",
    "status": "skipped",
    "detail": "nothing writes one here, because the emitter is not installed",
    "remedy": "`collie hooks install claude`"
  },
  {
    "check": "herdr-version",
    "status": "ok",
    "detail": "herdr 0.9.0",
    "remedy": null
  },
  {
    "check": "integration-claude",
    "status": "ok",
    "detail": "installed and current",
    "remedy": null
  },
  {
    "check": "integration-codex",
    "status": "ok",
    "detail": "installed and current",
    "remedy": null
  },
  {
    "check": "integration-grok",
    "status": "ok",
    "detail": "no hook is installed — not installed (/home/aaron/.grok/hooks/herdr-agent-state.sh); no grok pane is missing a session right now, so nothing is hidden yet — nothing here needs it",
    "remedy": null
  },
  {
    "check": "integration-opencode",
    "status": "ok",
    "detail": "installed and current",
    "remedy": null
  },
  {
    "check": "integration-pi",
    "status": "ok",
    "detail": "no hook is installed — not installed (/home/aaron/.pi/agent/extensions/herdr-agent-state.ts); no pi pane is missing a session right now, so nothing is hidden yet — nothing here needs it",
    "remedy": null
  },
  {
    "check": "hook-python3",
    "status": "ok",
    "detail": "/usr/bin/python3",
    "remedy": null
  },
  {
    "check": "agent-sessions",
    "status": "skipped",
    "detail": "the bridge did not answer `/api/snapshot`, so no pane can be checked",
    "remedy": "`collie status`, then `collie start` if it is down; re-run `collie doctor` once it answers"
  },
  {
    "check": "journal-roots",
    "status": "ok",
    "detail": "3 of 5 roots present — claude: /home/aaron/.claude/projects, codex: /home/aaron/.codex/sessions, opencode: /home/aaron/.local/share/opencode (resolved from /home/aaron; the BRIDGE resolves them from ITS OWN user's home)",
    "remedy": null
  },
  {
    "check": "restart-pending",
    "status": "skipped",
    "detail": "this install ships no bridge/ source, so there is nothing for the running process to be behind — `collie update` restarts the service itself",
    "remedy": "`collie logs` dates the running process"
  },
  {
    "check": "clock",
    "status": "skipped",
    "detail": "solo — there is no far side to compare against, and inventing a reference clock is worse than silence",
    "remedy": "re-run `collie doctor` once this collie is in a pack"
  }
]

If collie will not start at all

If this is an install problem

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: installbin/collie verbs, Herdr plugin lifecycle, update, tailscale servebugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions