Remove a shared service
unshareStops sharing a specific local service by deleting its TSLink registry entry, Tailscale device, and local node state. Use when a user asks to stop sharing a named service.
Instructions
Deletes a service and its tailnet device, so confirm with the user before calling this. It removes the named service from the local TSLink registry, deletes the service's tailnet device through the Tailscale API when TSLink holds its exact recorded NodeID (a device matched only by hostname is kept and reported), and deletes the service's local node state once no tailnet node of it survives; a running daemon finishes that last step itself. It is idempotent: a service already absent is success with removed false. Use this when the user asks to stop sharing a specific service.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact registered service name to remove. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| removed | Yes | Whether this call removed the local registry entry (true) or found the service absent (removed false). The request is idempotent, so both are success, and success does not guarantee tailnet device cleanup: check device_cleaned and device_warning. | |
| device_cleaned | Yes | ||
| device_warning | No | ||
| device_skip_reason | No | ||
| device_cleanup_skipped | Yes | ||
| node_state_kept_reason | No | Why the service's local node state was kept when no other field says so: some of its recorded tailnet nodes were neither deleted nor confirmed absent. |