You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Allow local-only channels without a connected Tailscale account #712
bun ace new --project <path> fails with "Start Tailscale first: every channel belongs to a tailnet." when Tailscale is unavailable or cannot authenticate. A managed device can require a tailnet the signed-in account cannot access, blocking all local use of Ace.
Proposed behavior
Allow channels scoped to this host when no tailnet is connected. Keep the host on authenticated loopback only: no tailnet listener, peer discovery, directory publication, or lobbies. Preserve existing tailnet channels and keep them isolated from local-only channels; do not reinterpret legacy unscoped records.
Built in Ace gap
Investigation and implementation use Pi because Ace cannot create the channel needed to do this work. This is a dogfooding blocker for machines without tailnet access.
Implemented an unpushed local patch in lane local-channels: disconnected hosts create explicitly scoped local-only catalog records and automatically use the existing authenticated loopback-only host mode. Real tailnet identity remains separate; existing records are not rewritten and legacy records without a tailnet remain hidden.
Verified with Tailscale actually reporting NeedsLogin: CLI creation/listing/opening, human messages, backup/restore with transcript preservation, and duplicate-name refusal. The host listens only on 127.0.0.1, reports loopback mode, and has no directory hosts or directory listener. bun types and bun run ci pass (existing lint warnings).
A real model invocation could not run: this Ace profile has no configured provider keys. Live connected-tailnet validation is blocked by the device policy described above. No Tailscale policy changes or mocks used.
Activity
marandaneto commentedon Nov 8, 2026
Implemented an unpushed local patch in lane
local-channels: disconnected hosts create explicitly scoped local-only catalog records and automatically use the existing authenticated loopback-only host mode. Real tailnet identity remains separate; existing records are not rewritten and legacy records without a tailnet remain hidden.Verified with Tailscale actually reporting
NeedsLogin: CLI creation/listing/opening, human messages, backup/restore with transcript preservation, and duplicate-name refusal. The host listens only on127.0.0.1, reports loopback mode, and has no directory hosts or directory listener.bun typesandbun run cipass (existing lint warnings).A real model invocation could not run: this Ace profile has no configured provider keys. Live connected-tailnet validation is blocked by the device policy described above. No Tailscale policy changes or mocks used.