COMMANDS
Thetuccommandreference

Every CLI command, flag, and example in one place.

$ tuc --help
tuc — the TucDesk fleet CLI

USAGE  tuc <command> [subcommand] [flags]

COMMANDS  agent · session · fleet · config · audit · acl
CLI REFERENCE

Find the command you need

Filter by command, flag, or keyword. Every command below is team-scoped and writes to the immutable audit log.

1,000+Total commands
20Command categories
100%Audit-logged
0SSH keys needed
398 commands

Agent Management

tuc agent list

Enumerate every agent in your team with online state, OS, version, tags, and last-seen time.

$ tuc agent list
ID          NAME     STATUS   TAGS          LAST SEEN
agt_9f2c1   web-01   online   prod,web      just now
agt_4b7e8   db-01    online   prod,db       2m ago
tuc agent list --tag prod

Filter agents by a specific tag.

$ tuc agent list --tag prod
ID          NAME     STATUS   TAGS    LAST SEEN
agt_9f2c1   web-01   online   prod    1m ago
agt_4b7e8   db-01    online   prod    3m ago
tuc agent list --tag prod --status online

List all online agents with the prod tag.

$ tuc agent list --tag prod --status online
ID          NAME     STATUS   TAGS    LAST SEEN
agt_9f2c1   web-01   online   prod    1m ago
tuc agent list --status offline

Filter agents by offline status.

$ tuc agent list --status offline
ID          NAME      STATUS   TAGS       LAST SEEN
agt_7k2m9   cache-01  offline  canary     3h ago
tuc agent list --sort name

Sort agents alphabetically by name.

$ tuc agent list --sort name
ID          NAME     STATUS   LAST SEEN
agt_4b7e8   cache-01 online   5m ago
agt_9f2c1   db-01    online   1m ago
tuc agent list --sort last-seen

Sort agents by last-seen timestamp (newest first).

$ tuc agent list --sort last-seen
ID          NAME     STATUS   LAST SEEN
agt_9f2c1   web-01   online   just now
agt_4b7e8   db-01    online   2m ago
tuc agent list --limit 50

Limit output to 50 agents.

$ tuc agent list --limit 50
(showing 1-50 of 127 agents)
tuc agent list --output json

Output agent list as JSON.

$ tuc agent list --output json
[{"id":"agt_9f2c1","name":"web-01",...}]
tuc agent list --output csv

Output agent list as CSV.

$ tuc agent list --output csv
id,name,status,tags,last_seen
agt_9f2c1,web-01,online,prod,1m ago
tuc agent list --filter "cpu>80"

Filter agents by resource utilization (CPU > 80%).

$ tuc agent list --filter "cpu>80"
ID          NAME     CPU    STATUS
agt_3x1p2   api-03   87%    online
tuc agent pair <key>

Complete agent onboarding with a dashboard-generated pairing key. Generates ED25519 identity locally.

$ tuc agent pair PK-4XQ9-71MZ
✓ identity generated (ed25519)
✓ paired as web-02 (agt_c31a0)
tuc agent pair <key> --name my-agent

Pair an agent with a custom name.

$ tuc agent pair PK-4XQ9-71MZ --name my-agent
✓ paired as my-agent (agt_c31a0)
tuc agent pair <key> --tags prod,web

Pair an agent and immediately assign tags.

$ tuc agent pair PK-4XQ9-71MZ --tags prod,web
✓ paired as web-02 (agt_c31a0)
✓ tagged with prod, web
tuc agent pair <key> --no-consent

Pair an agent with consent verification disabled.

$ tuc agent pair PK-4XQ9-71MZ --no-consent
✓ paired (consent not required)
tuc agent pair-token

Generate a new pairing token for agent onboarding.

$ tuc agent pair-token
PK-7XQ2-85NZ (expires in 1 hour)
tuc agent pair-token --ttl 24h

Generate a pairing token with custom expiration.

$ tuc agent pair-token --ttl 24h
PK-7XQ2-85NZ (expires in 24h)
tuc agent info <id>

Inspect a single agent: identity, connection path, security posture, tags, and consent.

$ tuc agent info agt_9f2c1
name              web-01
id                agt_9f2c1
fingerprint       SHA256:tQ8r…b4Jc
os                Linux 5.15.0
version           2.8.1
status            online
last_seen         2m ago
tags              prod,web
posture           9/10 checks passing
tuc agent status <id>

Show current status and connection health of an agent.

$ tuc agent status agt_9f2c1
status     online (12m 34s)
latency    45ms
cpu        12%
memory     234MB / 2GB
tuc agent version <id>

Show the agent software version and build information.

$ tuc agent version agt_9f2c1
agent       2.8.1 (build 2026-05-15)
components  core/2.8.1 sdk/2.4.0 runtime/1.2.3
tuc agent health <id>

Show comprehensive health check results for an agent.

$ tuc agent health agt_9f2c1
✓ network connectivity
✓ disk space (89% available)
✓ certificate expiry (45 days)
⚠ memory pressure (78% used)
tuc agent logs <id>

Stream agent logs to stdout.

$ tuc agent logs agt_9f2c1
2026-06-11 14:22:01 [info] heartbeat sent
2026-06-11 14:21:58 [info] posture check passed
tuc agent logs <id> --since 1h

Show agent logs from the last 1 hour.

$ tuc agent logs agt_9f2c1 --since 1h
(showing 23 log entries)
tuc agent logs <id> --level error

Filter agent logs by level (error, warn, info, debug).

$ tuc agent logs agt_9f2c1 --level error
2026-06-11 13:15:22 [error] certificate validation failed
tuc agent metrics <id>

Show CPU, memory, disk, and network metrics for an agent.

$ tuc agent metrics agt_9f2c1
cpu         12.3% (4 cores)
memory      512MB / 2GB (25%)
disk        45GB / 100GB (45%)
network     2.3MB/s in, 1.1MB/s out
tuc agent metrics <id> --json

Export agent metrics as JSON.

$ tuc agent metrics agt_9f2c1 --json
{"cpu":12.3,"memory":512,...}
tuc agent tag <id> <tag>

Attach a tag to an agent for targeting and policy.

$ tuc agent tag agt_9f2c1 canary
✓ tagged web-01 with "canary"
tuc agent tag <id> <tag1> <tag2> <tag3>

Attach multiple tags to an agent at once.

$ tuc agent tag agt_9f2c1 prod web http
✓ added 3 tags to web-01
tuc agent untag <id> <tag>

Remove a tag from an agent.

$ tuc agent untag agt_9f2c1 canary
✓ removed "canary" from web-01
tuc agent tags <id>

List all tags assigned to an agent.

$ tuc agent tags agt_9f2c1
prod
web
http
tuc agent rename <id> <new-name>

Rename an agent.

$ tuc agent rename agt_9f2c1 production-web-01
✓ renamed to production-web-01
tuc agent restart <id>

Restart an agent remotely.

$ tuc agent restart agt_9f2c1
✓ restart signal sent to web-01
tuc agent update <id>

Update agent software to the latest version.

$ tuc agent update agt_9f2c1
✓ update started (2.8.1 → 2.9.0)
(restart required)
tuc agent update <id> --to 2.8.0

Update agent to a specific version.

$ tuc agent update agt_9f2c1 --to 2.8.0
✓ downgrade started (2.9.0 → 2.8.0)
tuc agent update <id> --dry-run

Preview what would happen during an update.

$ tuc agent update agt_9f2c1 --dry-run
Would update: 2.8.1 → 2.9.0
Size: 45MB | Duration: ~2m
tuc agent delete <id>

Deregister an agent from the fleet.

$ tuc agent delete agt_9f2c1
⚠ This cannot be undone. Confirm? [y/N] y
✓ agent agt_9f2c1 deleted
tuc agent delete <id> --force

Force delete an agent without confirmation.

$ tuc agent delete agt_9f2c1 --force
✓ agent agt_9f2c1 deleted
tuc agent reset <id>

Reset an agent to factory defaults.

$ tuc agent reset agt_9f2c1
✓ agent reset (will reconnect in 30s)
tuc agent isolate <id>

Isolate an agent from other fleet operations.

$ tuc agent isolate agt_9f2c1
✓ web-01 isolated (sessions will be blocked)
tuc agent unisolate <id>

Remove isolation from an agent.

$ tuc agent unisolate agt_9f2c1
✓ web-01 unisolated
tuc agent consent <id>

Check if an agent requires consent for sessions.

$ tuc agent consent agt_9f2c1
consent_required  true
policy            manual
last_consent      2h ago by alice@team
tuc agent consent <id> --require manual

Set agent to require manual consent for sessions.

$ tuc agent consent agt_9f2c1 --require manual
✓ consent policy updated
tuc agent consent <id> --require none

Disable consent requirement for an agent.

$ tuc agent consent agt_9f2c1 --require none
✓ consent disabled
tuc agent record <id> --enable

Enable session recording for an agent.

$ tuc agent record agt_9f2c1 --enable
✓ recording enabled
tuc agent record <id> --disable

Disable session recording for an agent.

$ tuc agent record agt_9f2c1 --disable
✓ recording disabled
tuc agent ping <id>

Send a ping to test agent connectivity.

$ tuc agent ping agt_9f2c1
✓ pong (45ms)
tuc agent trace <id>

Trace the network path to an agent.

$ tuc agent trace agt_9f2c1
hop 1: client → rendezvous (12ms)
hop 2: rendezvous → web-01 (33ms)
tuc agent cert <id>

Show certificate info for an agent.

$ tuc agent cert agt_9f2c1
fingerprint  SHA256:tQ8r…b4Jc
subject      CN=agt_9f2c1
expires      2027-06-11 (380 days)
tuc agent cert <id> --rotate

Rotate the certificate for an agent.

$ tuc agent cert agt_9f2c1 --rotate
✓ new certificate generated and installed

Session Management

tuc session start <agent>

Open an end-to-end encrypted terminal session to an agent.

$ tuc session start web-01
✓ consent granted · recording on
web-01:~$ _
tuc session start <agent> --no-record

Start a session without recording.

$ tuc session start web-01 --no-record
✓ session started (recording OFF)
web-01:~$ _
tuc session start <agent> --timeout 30m

Start a session with auto-close timeout.

$ tuc session start web-01 --timeout 30m
web-01:~$ _
(auto-close in 30 minutes)
tuc session start <id> --user <username>

Start a session and switch to a specific user.

$ tuc session start web-01 --user root
✓ switched to root
root@web-01:~# _
tuc session start <id> --exec <command>

Start a session and execute a command directly.

$ tuc session start web-01 --exec "systemctl status nginx"
● nginx.service - The NGINX HTTP Server
  Active: active (running)
tuc session start <id> --env VAR=value

Start a session with environment variables.

$ tuc session start web-01 --env DEBUG=1 --env ENV=prod
✓ session started with 2 environment variables
tuc session start <id> --interactive

Start an interactive session (default behavior).

$ tuc session start web-01 --interactive
web-01:~$ _
tuc session start <id> --non-interactive

Start a non-interactive session for automation.

$ tuc session start web-01 --non-interactive < script.sh
tuc session list

List active and recent sessions with details.

$ tuc session list
SESSION     AGENT    ACTOR        DURATION  REC  STATUS
ses_77ab2   web-01   alice@team   12m       yes  active
ses_1c09f   db-01    bob@team     closed    yes  closed
tuc session list --agent web-01

List sessions for a specific agent.

$ tuc session list --agent web-01
SESSION     ACTOR        DURATION  STATUS
ses_77ab2   alice@team   12m       active
tuc session list --actor alice@team

List sessions for a specific user.

$ tuc session list --actor alice@team
SESSION     AGENT    DURATION  STATUS
ses_77ab2   web-01   12m       active
tuc session list --status active

Filter sessions by status (active, closed, suspended).

$ tuc session list --status active
SESSION     AGENT    ACTOR        DURATION
ses_77ab2   web-01   alice@team   12m
tuc session list --since 24h

List sessions from the last 24 hours.

$ tuc session list --since 24h
(showing 47 sessions)
tuc session list --limit 100

Limit results to 100 sessions.

$ tuc session list --limit 100
(showing 1-100 of 523 sessions)
tuc session list --output json

Output sessions as JSON.

$ tuc session list --output json
[{"id":"ses_77ab2","agent":"web-01",...}]
tuc session list --output csv

Output sessions as CSV.

$ tuc session list --output csv
id,agent,actor,status,duration
ses_77ab2,web-01,alice@team,active,12m
tuc session info <id>

Show detailed information about a session.

$ tuc session info ses_77ab2
id              ses_77ab2
agent           web-01
actor           alice@team
started         2026-06-11 14:22:00
duration        12m 34s
recording       yes
recorded_bytes  1.2MB
status          active
tuc session status <id>

Check current status of a session.

$ tuc session status ses_77ab2
status          active
idle_time       2m 15s
cpu             12%
memory          89MB
tuc session duration <id>

Show session duration and timeline.

$ tuc session duration ses_77ab2
started   2026-06-11 14:22:00
now       2026-06-11 14:34:34
elapsed   12m 34s
timeout   (30m remaining)
tuc session replay <id>

Replay a recorded session from signed recording.

$ tuc session replay ses_1c09f
▶ replaying 14m32s recording (signed, verified)
tuc session replay <id> --speed 2x

Replay a session at 2x speed.

$ tuc session replay ses_1c09f --speed 2x
▶ replaying at 2x speed
tuc session replay <id> --speed 0.5x

Replay a session at 0.5x speed.

$ tuc session replay ses_1c09f --speed 0.5x
▶ replaying at 0.5x speed
tuc session replay <id> --from 5m

Start replay from 5 minutes into the session.

$ tuc session replay ses_1c09f --from 5m
▶ replaying from 5m mark
tuc session replay <id> --from 5m --to 10m

Replay a specific time range of a session.

$ tuc session replay ses_1c09f --from 5m --to 10m
▶ replaying segment 5m-10m (5m duration)
tuc session export <id>

Export session recording as asciinema JSON.

$ tuc session export ses_1c09f > session.json
✓ exported 14m32s recording
tuc session export <id> --format cast

Export session as asciinema .cast file.

$ tuc session export ses_1c09f --format cast > session.cast
tuc session export <id> --format html

Export session as standalone HTML player.

$ tuc session export ses_1c09f --format html > player.html
tuc session verify <id>

Verify cryptographic signature of a session recording.

$ tuc session verify ses_1c09f
✓ signature verified (signed by alice@team)
✓ recording unaltered
✓ timestamp authentic
tuc session logs <id>

Show command log from a session.

$ tuc session logs ses_77ab2
14:22:05  ls -la /var/www
14:22:08  cat config.json
14:22:15  systemctl restart app
tuc session transcript <id>

Generate full text transcript of a session.

$ tuc session transcript ses_77ab2
web-01:~$ ls -la
total 12
drwxr-xr-x  3 user user  4096 Jun 11 14:22 .
tuc session suspend <id>

Suspend (pause) an active session.

$ tuc session suspend ses_77ab2
✓ session suspended (can be resumed)
tuc session resume <id>

Resume a suspended session.

$ tuc session resume ses_77ab2
✓ session resumed
web-01:~$ _
tuc session end <id>

Close an active session.

$ tuc session end ses_77ab2
✓ session ended (recording finalized)
tuc session terminate <id>

Forcefully terminate a session immediately.

$ tuc session terminate ses_77ab2
✓ session terminated
tuc session kill <id>

Kill a session and disconnect the agent.

$ tuc session kill ses_77ab2
✓ session killed (agent disconnected)
tuc session timeout <id> <duration>

Set a timeout for an active session.

$ tuc session timeout ses_77ab2 15m
✓ session will auto-close in 15m
tuc session consent <id>

Check consent status for a session.

$ tuc session consent ses_77ab2
consent_required  true
given_by          alice@team
given_at          2026-06-11 14:22:00
tuc session approve <id>

Approve a session awaiting approval.

$ tuc session approve ses_77ab2
✓ session approved
tuc session deny <id>

Deny a session awaiting approval.

$ tuc session deny ses_77ab2
✓ session denied (will be terminated)
tuc session pending-approval

List sessions awaiting approval.

$ tuc session pending-approval
SESSION     AGENT    ACTOR        REQUESTED
ses_88bc3   web-02   charlie@team 2m ago
ses_92xf1   db-03    dave@team    5m ago
tuc session metrics <id>

Show CPU, memory, and network metrics during session.

$ tuc session metrics ses_77ab2
cpu         8.2%
memory      67MB / 2GB (3%)
network     12KB/s in, 4KB/s out
tuc session bandwidth <id>

Show session bandwidth usage.

$ tuc session bandwidth ses_77ab2
input       1.2MB / 12m = 1.6KB/s
output      2.8MB / 12m = 3.9KB/s
total       4.0MB
tuc session commands <id>

List all commands executed in a session.

$ tuc session commands ses_77ab2
ls -la /var/www
cat config.json
systemctl restart app
tuc session io <id>

Analyze input/output patterns in a session.

$ tuc session io ses_77ab2
keystrokes   234
paste_events 3
output_chars 8432
tuc session recording <id>

Show recording metadata for a session.

$ tuc session recording ses_77ab2
enabled    yes
format     asciinema
size       1.2MB
frames     8432
signature  valid
signed_by  system
tuc session recording <id> --download

Download the recording file.

$ tuc session recording ses_77ab2 --download
✓ downloaded to ./ses_77ab2.cast (1.2MB)
tuc session search <query>

Search sessions by command, actor, or agent.

$ tuc session search "systemctl restart"
ses_77ab2  alice@team  web-01  found 2 matches
tuc session search <query> --from 7d

Search sessions from the last 7 days.

$ tuc session search "docker" --from 7d
(found 5 matching sessions)

Fleet Operations

tuc fleet run --tag <tag> --command "<cmd>"

Run a command across all agents with a tag. Risk is classified; MEDIUM needs confirmation, HIGH needs approval token.

$ tuc fleet run --tag prod --command "systemctl restart nginx"
risk: MEDIUM → confirm? [y/N] y
✓ web-01  exit 0  (1.2s)
✓ web-02  exit 0  (1.4s)
tuc fleet run --tag prod --command "uptime" --dry-run

Preview a fleet run without executing.

$ tuc fleet run --tag prod --command "uptime" --dry-run
Would run on: web-01, web-02, web-03
Risk level: LOW
Estimated time: 5s
tuc fleet run --tag prod --command "systemctl restart nginx" --confirm

Run with automatic confirmation (for automation).

$ tuc fleet run --tag prod --command "systemctl restart nginx" --confirm
✓ web-01  exit 0  (1.2s)
✓ web-02  exit 0  (1.4s)
tuc fleet run --tag prod --command "systemctl restart nginx" --approval-token <token>

Run using a pre-generated approval token.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --approval-token APR_xyz123
✓ approved by alice@team
✓ web-01  exit 0
tuc fleet run --tag prod --command "echo test" --parallel 5

Run command with concurrency limit (default: unlimited).

$ tuc fleet run --tag prod --command "echo test" --parallel 5
(processing 5 agents at a time)
tuc fleet run --tag prod --command "systemctl restart nginx" --timeout 60s

Set timeout for each agent execution.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --timeout 60s
(60s per agent)
tuc fleet run --tag prod --command "systemctl restart nginx" --timeout 60s --overall-timeout 5m

Set both per-agent and overall timeout.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --timeout 60s --overall-timeout 5m
(5m total, 60s per agent)
tuc fleet run --tag prod --command "systemctl restart nginx" --output json

Output results as JSON.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --output json
[{"agent":"web-01","exit":0,"duration":"1.2s"}]
tuc fleet run --tag prod --command "systemctl restart nginx" --stop-on-error

Stop execution if any agent fails.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --stop-on-error
✓ web-01  exit 0
✗ web-02  exit 1  (stopping)
tuc fleet run --tag prod --command "systemctl restart nginx" --batch-size 3

Run in batches of 3 agents sequentially.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --batch-size 3
Batch 1 (3/12): ✓ web-01, ✓ web-02, ✓ web-03
Batch 2 (3/12): (in progress)
tuc fleet run --tag prod --command "systemctl restart nginx" --filter "os:linux"

Filter agents by OS before running command.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --filter "os:linux"
Matched 8/12 agents (Linux only)
tuc fleet run --tag prod --command "systemctl restart nginx" --exclude web-01

Exclude specific agents from run.

$ tuc fleet run --tag prod --command "systemctl restart nginx" --exclude web-01
Running on: web-02, web-03, ..., web-12
tuc fleet run --tags prod,web --command "systemctl restart nginx"

Run on agents with multiple tags (AND logic).

$ tuc fleet run --tags prod,web --command "systemctl restart nginx"
Matched 8/12 agents (prod AND web)
tuc fleet run --agent web-01 --agent web-02 --command "systemctl restart nginx"

Run on specific agents (whitelist).

$ tuc fleet run --agent web-01 --agent web-02 --command "systemctl restart nginx"
Running on 2 agents
tuc fleet run --region us-east --command "systemctl restart nginx"

Run on agents in a specific region.

$ tuc fleet run --region us-east --command "systemctl restart nginx"
Matched 12/27 agents (us-east region)
tuc fleet run --os linux --command "systemctl restart nginx"

Run on agents with specific OS.

$ tuc fleet run --os linux --command "systemctl restart nginx"
Matched 18/27 agents (Linux)
tuc fleet run --arch arm64 --command "systemctl restart nginx"

Run on agents with specific architecture.

$ tuc fleet run --arch arm64 --command "systemctl restart nginx"
Matched 3/27 agents (ARM64)
tuc fleet run --script /path/to/script.sh --tag prod

Run a local script across fleet.

$ tuc fleet run --script /path/to/script.sh --tag prod
✓ web-01  exit 0
✓ web-02  exit 0
tuc fleet status

Show fleet health at a glance.

$ tuc fleet status
prod   12/12 online
db      3/3  online
canary  1/2  online (cache-01 offline 3h)
tuc fleet status --detailed

Show detailed fleet status with CPU, memory, disk.

$ tuc fleet status --detailed
prod    12/12  online  cpu: 23%  mem: 45%  disk: 67%
db       3/3   online  cpu: 8%   mem: 12%  disk: 34%
tuc fleet status --json

Output fleet status as JSON.

$ tuc fleet status --json
{"prod":{"online":12,"total":12},...}
tuc fleet tags

List all tags in the fleet.

$ tuc fleet tags
prod   (12 agents)
web    (8 agents)
db     (3 agents)
canary (2 agents)
tuc fleet regions

List all regions in the fleet.

$ tuc fleet regions
us-east   (12 agents)
us-west   (8 agents)
eu-west   (7 agents)
tuc fleet health

Show fleet health summary with failing checks.

$ tuc fleet health
✓ 25/27 agents online
✓ 26/27 certificates valid (1 expires in 5 days)
⚠ 2 agents with high CPU (>80%)
tuc fleet health --deep

Run deep health checks on all agents.

$ tuc fleet health --deep
(scanning 27 agents...)
✓ network connectivity
✓ disk space
⚠ certificate expiry (1 agent)
tuc fleet health --tag prod

Check health of agents with a specific tag.

$ tuc fleet health --tag prod
✓ 12/12 prod agents online
tuc fleet posture

Show security posture across fleet.

$ tuc fleet posture
✓ all agents pass baseline checks
✓ certificates valid
⚠ 2 agents with disabled encryption
tuc fleet compliance

Run compliance checks across fleet.

$ tuc fleet compliance
✓ 27/27 agents compliant
⚠ 3 agents missing required tags
tuc fleet scale <tag> --to 20

Scale tag capacity to 20 agents (auto-launch/stop).

$ tuc fleet scale prod --to 20
Currently: 12 agents
Target: 20 agents
Launch: 8 new agents? [y/N] y
✓ launching 8 agents...
tuc fleet scale <tag> --min 5 --max 20 --cpu-threshold 80

Set up autoscaling based on CPU threshold.

$ tuc fleet scale prod --min 5 --max 20 --cpu-threshold 80
✓ autoscaling configured
tuc fleet scale <tag> --cpu-threshold 75 --memory-threshold 85

Autoscale using multiple thresholds.

$ tuc fleet scale prod --cpu-threshold 75 --memory-threshold 85
✓ autoscaling updated
tuc fleet scale <tag> --disable

Disable autoscaling for a tag.

$ tuc fleet scale prod --disable
✓ autoscaling disabled
tuc fleet pause <tag>

Pause fleet operations on agents with a tag.

$ tuc fleet pause canary
✓ canary fleet paused (1 agent)
tuc fleet pause <tag> --drain

Pause gracefully (drain active sessions).

$ tuc fleet pause canary --drain
Draining 2 active sessions...
✓ canary fleet paused
tuc fleet resume <tag>

Resume fleet operations on paused agents.

$ tuc fleet resume canary
✓ canary fleet resumed (1 agent online)
tuc fleet rollback

Rollback last fleet run.

$ tuc fleet rollback
Rollback "systemctl restart nginx" on prod? [y/N] y
✓ rollback executed
tuc fleet rollback --run <run-id>

Rollback a specific fleet run.

$ tuc fleet rollback --run run_abc123
✓ rollback executed
tuc fleet rollback --all

Rollback all recent fleet runs.

$ tuc fleet rollback --all
Rolling back 3 recent runs?
✓ all rollbacks executed
tuc fleet runs

List recent fleet runs.

$ tuc fleet runs
RUN_ID      COMMAND                ACTOR        AGENTS  STATUS
run_abc123  systemctl restart..    alice@team   12/12   success
run_xyz789  docker pull latest     bob@team     8/8     success
tuc fleet runs --since 24h

List fleet runs from last 24 hours.

$ tuc fleet runs --since 24h
(showing 23 runs)
tuc fleet runs --status failed

List failed fleet runs.

$ tuc fleet runs --status failed
(showing 2 failed runs)
tuc fleet run-info <run-id>

Show detailed info about a fleet run.

$ tuc fleet run-info run_abc123
command     systemctl restart nginx
actor       alice@team
started     2026-06-11 14:22:00
duration    2m 15s
agents      12/12 success
tuc fleet run-results <run-id>

Show per-agent results of a fleet run.

$ tuc fleet run-results run_abc123
web-01  ✓ exit 0  (1.2s)
web-02  ✓ exit 0  (1.4s)
web-03  ✗ exit 1  (timeout)
tuc fleet run-log <run-id> <agent>

Show output from a specific agent in a fleet run.

$ tuc fleet run-log run_abc123 web-01
Stopping nginx: [  OK  ]
Starting nginx: [  OK  ]
tuc fleet update --tag prod

Update all agents with a tag.

$ tuc fleet update --tag prod
Updates available: 2.8.1 → 2.9.0
Update 12 agents? [y/N] y
tuc fleet update --tag prod --batch-size 3

Update agents in batches.

$ tuc fleet update --tag prod --batch-size 3
Batch 1: ✓ web-01, ✓ web-02, ✓ web-03
Batch 2: (in progress)
tuc fleet update --tag prod --skip-verify

Update without verification checks.

$ tuc fleet update --tag prod --skip-verify
✓ 12 agents updated
tuc fleet restart --tag prod

Restart all agents with a tag.

$ tuc fleet restart --tag prod
Restart 12 agents? [y/N] y
✓ 12 restart signals sent
tuc fleet restart --tag prod --stagger 30s

Restart agents with stagger delay.

$ tuc fleet restart --tag prod --stagger 30s
Restarting agents (30s apart)...
tuc fleet approval-tokens

List valid approval tokens.

$ tuc fleet approval-tokens
APR_xyz123  HIGH   expires 2026-06-15
APR_abc456  MEDIUM expires 2026-06-12
tuc fleet approval-token --generate --level HIGH

Generate approval token for HIGH-risk operations.

$ tuc fleet approval-token --generate --level HIGH
APR_xyz123 (valid for 48h)
tuc fleet approval-token --revoke <token>

Revoke an approval token.

$ tuc fleet approval-token --revoke APR_xyz123
✓ token revoked
tuc fleet risk --command "systemctl restart nginx" --tag prod

Assess risk of a command before running.

$ tuc fleet risk --command "systemctl restart nginx" --tag prod
risk_level    MEDIUM
affected      12 agents
downtime_est  ~2 minutes
approval      required
tuc fleet notify --when failure

Enable notifications on fleet run failures.

$ tuc fleet notify --when failure
✓ notifications enabled (slack, email)
tuc fleet notify --channel slack://monitoring

Send fleet notifications to Slack channel.

$ tuc fleet notify --channel slack://monitoring
✓ slack notifications configured
tuc fleet notify --list

List notification subscriptions.

$ tuc fleet notify --list
slack://monitoring  (all events)
alice@team          (failures only)

Cryptography & Security

tuc identity list

List all identities registered with TucDesk.

$ tuc identity list
ID             TYPE  FINGERPRINT           ROLE
agt_9f2c1     agent SHA256:tQ8r…b4Jc     prod
alice@team    user  SHA256:kL3x…m9Df     admin
tuc identity info <id>

Show detailed identity information.

$ tuc identity info agt_9f2c1
fingerprint   SHA256:tQ8r…b4Jc
public_key    (ed25519)
created       2026-01-15
expires       2027-01-15
revoked       no
tuc identity generate --type agent

Generate a new agent identity.

$ tuc identity generate --type agent
✓ new identity: agt_x8z2k (ed25519)
tuc identity generate --type user

Generate a new user identity.

$ tuc identity generate --type user
✓ new identity: user_abc123 (ed25519)
tuc identity import <file>

Import identity from file.

$ tuc identity import ./identity.pem
✓ imported identity: agt_9f2c1
tuc identity export <id>

Export identity public key to file.

$ tuc identity export agt_9f2c1 > identity.pub
tuc identity export <id> --private

Export identity including private key (careful!).

$ tuc identity export agt_9f2c1 --private > identity.key
tuc identity rotate <id>

Rotate identity keys (generate new keypair).

$ tuc identity rotate agt_9f2c1
✓ new keypair generated
old key revoked automatically
tuc identity rotate <id> --keep-old 7d

Rotate identity but keep old key valid for 7 days.

$ tuc identity rotate agt_9f2c1 --keep-old 7d
✓ old key valid until 2026-06-18
tuc identity revoke <id>

Revoke an identity immediately.

$ tuc identity revoke agt_9f2c1
⚠ This will disconnect the agent. Continue? [y/N] y
✓ identity revoked
tuc identity verify <id> <signature>

Verify a signature using an identity.

$ tuc identity verify agt_9f2c1 sig_xyz123
✓ signature valid (signed 2m ago)
tuc identity fingerprint <id>

Show identity fingerprint.

$ tuc identity fingerprint agt_9f2c1
SHA256:tQ8r…b4Jc
tuc key list

List all API keys and tokens.

$ tuc key list
KEY_ID      SCOPE       CREATED        EXPIRES        ACTIVE
key_abc123  fleet:run   2026-05-01     2026-08-01     yes
key_xyz789  agent:list  2026-06-01     2027-06-01     yes
tuc key generate --scope fleet:run

Generate a new API key with specific scope.

$ tuc key generate --scope fleet:run
api_key_xyz123...
(save this securely, it won't be shown again)
tuc key generate --scope agent:list,agent:update

Generate API key with multiple scopes.

$ tuc key generate --scope agent:list,agent:update
api_key_abc123...
tuc key generate --ttl 24h

Generate temporary API key valid for 24 hours.

$ tuc key generate --ttl 24h
api_key_temp_xyz...
(expires in 24 hours)
tuc key revoke <key-id>

Revoke an API key.

$ tuc key revoke key_abc123
✓ key revoked
tuc key rotate <key-id>

Rotate API key (revoke old, generate new).

$ tuc key rotate key_abc123
api_key_new_xyz...
tuc key validate <key>

Validate an API key.

$ tuc key validate api_key_xyz123
✓ valid (scope: fleet:run, expires: 2026-08-01)
tuc key backup

Backup all API keys to encrypted file.

$ tuc key backup
✓ backed up 12 keys to ./keys-backup.tuc
tuc key audit <key-id>

Show audit log for API key usage.

$ tuc key audit key_abc123
(showing 15 recent uses)
tuc cert list

List all certificates in use.

$ tuc cert list
AGENT      SUBJECT          EXPIRES       STATUS
web-01     CN=agt_9f2c1     2027-06-11    valid
db-01      CN=agt_4b7e8     2027-02-15    warning (expires soon)
tuc cert info <agent>

Show detailed certificate information.

$ tuc cert info agt_9f2c1
subject         CN=agt_9f2c1
issuer          CN=TucDesk CA
not_before      2026-06-11
not_after       2027-06-11
fingerprint_sha256  e3b0c4…49a7c
tuc cert generate --agent <id>

Generate new certificate for an agent.

$ tuc cert generate --agent agt_9f2c1
✓ new certificate generated (valid 365 days)
tuc cert generate --agent <id> --validity 730d

Generate certificate with custom validity period.

$ tuc cert generate --agent agt_9f2c1 --validity 730d
✓ new certificate generated (valid 730 days)
tuc cert validate --agent <id>

Validate certificate for an agent.

$ tuc cert validate --agent agt_9f2c1
✓ certificate valid and not revoked
tuc cert validate-all

Validate all agent certificates.

$ tuc cert validate-all
✓ 26/27 certificates valid
⚠ 1 certificate expires in 5 days
tuc cert revoke --agent <id>

Revoke a certificate.

$ tuc cert revoke --agent agt_9f2c1
✓ certificate revoked (agent will disconnect)
tuc cert install --file <path>

Install a custom CA certificate.

$ tuc cert install --file ./ca.crt
✓ certificate installed
tuc cert export --agent <id>

Export certificate chain.

$ tuc cert export --agent agt_9f2c1 > cert.pem
tuc encrypt --file <path>

Encrypt a file using team key.

$ tuc encrypt --file data.json
✓ encrypted to data.json.tuc
tuc decrypt --file <path>

Decrypt an encrypted file.

$ tuc decrypt --file data.json.tuc
✓ decrypted to data.json
tuc sign --file <path>

Sign a file using your identity.

$ tuc sign --file report.pdf
✓ signature saved to report.pdf.sig
tuc verify --file <path> --signature <sig>

Verify a file signature.

$ tuc verify --file report.pdf --signature report.pdf.sig
✓ signature valid (signed by alice@team)
tuc hash --file <path>

Calculate cryptographic hash of file.

$ tuc hash --file data.json
sha256: e3b0c4…49a7c
tuc hash --file <path> --algorithm sha512

Calculate hash using specific algorithm.

$ tuc hash --file data.json --algorithm sha512
sha512: 5e4e…9f3c
tuc secret list

List all secrets in your team vault.

$ tuc secret list
prod-db-password
api-key-slack
prod-tls-key
tuc secret get <name>

Retrieve a secret from vault.

$ tuc secret get prod-db-password
(secret value printed to stdout)
tuc secret get <name> --no-echo

Retrieve secret without echoing (for scripts).

$ tuc secret get prod-db-password --no-echo
(printed without echo)
tuc secret set <name> <value>

Store a secret in vault.

$ tuc secret set prod-db-password (prompted for value)
✓ secret stored (encrypted)
tuc secret set <name> --file <path>

Store secret from file contents.

$ tuc secret set prod-tls-key --file ./key.pem
✓ secret stored
tuc secret delete <name>

Delete a secret from vault.

$ tuc secret delete old-api-key
⚠ This cannot be undone. Confirm? [y/N] y
✓ secret deleted
tuc secret rotate <name>

Rotate a secret (backup old, create new).

$ tuc secret rotate prod-db-password
✓ old secret backed up
(new value generated and printed)
tuc secret audit <name>

Show who accessed a secret and when.

$ tuc secret audit prod-db-password
alice@team     read   2026-06-11 14:22
bob@team       read   2026-06-11 10:15
tuc posture check

Run security posture check on local agent.

$ tuc posture check
✓ encryption enabled
✓ certificate valid
✓ firewall configured
⚠ update available
tuc posture report

Generate posture report for compliance.

$ tuc posture report
✓ 26/27 agents pass baseline
⚠ 2 certificates expire in <30 days
✓ 100% encryption enabled
tuc posture export --format pdf

Export posture report as PDF.

$ tuc posture export --format pdf
✓ report saved to posture-2026-06-11.pdf

Config & Admin

tuc config set <key> <value>

Set CLI configuration value (persisted in ~/.config/tuc/config.toml).

$ tuc config set api_url https://api.yourdomain.com
✓ api_url saved
tuc config get <key>

Get CLI configuration value.

$ tuc config get api_url
https://api.yourdomain.com
tuc config list

List all CLI configuration values.

$ tuc config list
api_url            https://api.yourdomain.com
default_tag        prod
output_format      text
tuc config list --all

List configuration including defaults.

$ tuc config list --all
api_url            https://api.yourdomain.com (custom)
timeout            30s (default)
tuc config reset <key>

Reset configuration to default value.

$ tuc config reset output_format
✓ reset to default: text
tuc config reset-all

Reset all configuration to defaults.

$ tuc config reset-all
⚠ Reset all config? [y/N] y
✓ configuration reset
tuc config validate

Validate configuration syntax.

$ tuc config validate
✓ configuration valid
tuc config export

Export configuration to file.

$ tuc config export > config-backup.toml
tuc config import <file>

Import configuration from file.

$ tuc config import config-backup.toml
✓ configuration imported
tuc config set default_tag prod

Set default tag for fleet operations.

$ tuc config set default_tag prod
✓ default_tag saved
tuc config set output_format json

Set default output format.

$ tuc config set output_format json
✓ output_format saved
tuc config set api_timeout 60s

Set API request timeout.

$ tuc config set api_timeout 60s
✓ api_timeout saved
tuc team info

Show team information.

$ tuc team info
name           acme-corp
members        12
agents         27
subscription   enterprise
tuc team members

List team members.

$ tuc team members
alice@team     admin     active
bob@team       operator  active
charlie@team   viewer    active
tuc team members --role operator

Filter team members by role.

$ tuc team members --role operator
bob@team       operator  active
dave@team      operator  active
tuc team invite <email> --role operator

Invite a new team member.

$ tuc team invite newuser@company.com --role operator
✓ invitation sent to newuser@company.com
tuc team invite <email> --role admin

Invite a team member as admin.

$ tuc team invite admin@company.com --role admin
✓ invitation sent
tuc team invite <email> --role viewer

Invite a team member with viewer access.

$ tuc team invite viewer@company.com --role viewer
✓ invitation sent
tuc team revoke <email>

Remove a team member.

$ tuc team revoke olduser@company.com
✓ user access revoked
tuc team update-role <email> <role>

Change a team member role.

$ tuc team update-role bob@team admin
✓ role updated (operator → admin)
tuc team pending-invites

List pending invitations.

$ tuc team pending-invites
newuser@company.com  invited 2h ago
another@company.com  invited 1d ago
tuc team resend-invite <email>

Resend invitation to pending member.

$ tuc team resend-invite newuser@company.com
✓ invitation sent
tuc acl set --mode allowlist

Switch to allowlist ACL mode (only explicit permissions).

$ tuc acl set --mode allowlist
✓ ACL mode: allowlist (2 rules active)
tuc acl set --mode denylist

Switch to denylist ACL mode (allow by default).

$ tuc acl set --mode denylist
✓ ACL mode: denylist
tuc acl list

List all ACL rules.

$ tuc acl list
alice@team  allow  fleet:run:prod
bob@team    deny   fleet:run:*
tuc acl add --user alice@team --action fleet:run --resource prod

Add ACL rule allowing user to run fleet operations on tag.

$ tuc acl add --user alice@team --action fleet:run --resource prod
✓ rule added
tuc acl add --user bob@team --action session:start --resource web

Add ACL rule allowing sessions on tag.

$ tuc acl add --user bob@team --action session:start --resource web
✓ rule added
tuc acl add --role operator --action agent:list

Add ACL rule for a role.

$ tuc acl add --role operator --action agent:list
✓ rule added for operator role
tuc acl remove --user alice@team --action fleet:run --resource prod

Remove ACL rule.

$ tuc acl remove --user alice@team --action fleet:run --resource prod
✓ rule removed
tuc acl deny --user charlie@team --action fleet:run

Add deny rule.

$ tuc acl deny --user charlie@team --action fleet:run
✓ deny rule added
tuc acl allow --user dave@team --action agent:list

Add allow rule.

$ tuc acl allow --user dave@team --action agent:list
✓ allow rule added
tuc acl export

Export ACL rules to file.

$ tuc acl export > acl-rules.json
tuc acl import <file>

Import ACL rules from file.

$ tuc acl import acl-rules.json
✓ 5 rules imported
tuc acl test --user alice@team --action fleet:run --resource prod

Test if user can perform action.

$ tuc acl test --user alice@team --action fleet:run --resource prod
✓ allowed
tuc audit export --from <date>

Export tamper-evident audit log for compliance review.

$ tuc audit export --from 2026-05-01
✓ 4,182 signed entries → audit-2026-05-01.jsonl
tuc audit export --from 2026-05-01 --to 2026-05-31

Export audit log for specific date range.

$ tuc audit export --from 2026-05-01 --to 2026-05-31
✓ 3,456 entries exported
tuc audit export --format csv

Export audit log as CSV.

$ tuc audit export --format csv > audit.csv
tuc audit list

List recent audit entries.

$ tuc audit list
TIMESTAMP           ACTOR        ACTION           TARGET     RESULT
2026-06-11 14:22    alice@team   fleet:run        prod       success
2026-06-11 14:21    bob@team     session:start    web-01     success
tuc audit list --actor alice@team

Filter audit log by actor.

$ tuc audit list --actor alice@team
(showing 23 entries by alice@team)
tuc audit list --action fleet:run

Filter audit log by action type.

$ tuc audit list --action fleet:run
(showing 45 fleet runs)
tuc audit list --result failed

Filter audit log by result.

$ tuc audit list --result failed
(showing 2 failed operations)
tuc audit list --since 7d

Show audit entries from last 7 days.

$ tuc audit list --since 7d
(showing 234 entries)
tuc audit verify

Verify audit log integrity.

$ tuc audit verify
✓ audit log integrity verified (4,182 entries)
tuc audit search <query>

Search audit log by keyword.

$ tuc audit search "nginx"
(found 3 matching entries)
tuc audit stats

Show audit log statistics.

$ tuc audit stats
total_entries    4,182
date_range       2026-01-01 to 2026-06-11
actions          42 unique types
tuc compliance scan

Run comprehensive compliance scan.

$ tuc compliance scan
✓ 27/27 agents scanned
✓ 26/27 agents compliant
⚠ 1 agent non-compliant (missing security updates)
tuc compliance scan --policy pci-dss

Scan for specific compliance policy.

$ tuc compliance scan --policy pci-dss
✓ PCI-DSS compliance: 95%
tuc compliance scan --policy hipaa

Scan for HIPAA compliance.

$ tuc compliance scan --policy hipaa
✓ HIPAA compliance: 100%
tuc compliance scan --policy gdpr

Scan for GDPR compliance.

$ tuc compliance scan --policy gdpr
✓ GDPR compliance: 98%
tuc compliance report

Generate compliance report.

$ tuc compliance report
Generating report...
✓ report-2026-06-11.pdf
tuc compliance export --format json

Export compliance data as JSON.

$ tuc compliance export --format json > compliance.json
tuc compliance remediate --agent <id>

Auto-remediate compliance issues on agent.

$ tuc compliance remediate --agent agt_9f2c1
✓ applied 3 remediation steps
tuc backup create

Create backup of team configuration.

$ tuc backup create
✓ backup-2026-06-11.tuc created (2.3MB)
tuc backup list

List available backups.

$ tuc backup list
backup-2026-06-11.tuc  2.3MB   2h ago
backup-2026-06-10.tuc  2.1MB   1d ago
tuc backup restore <file>

Restore from backup file.

$ tuc backup restore backup-2026-06-11.tuc
⚠ This will overwrite current config. Continue? [y/N] y
✓ restored from backup
tuc backup delete <file>

Delete a backup file.

$ tuc backup delete backup-2026-06-10.tuc
✓ backup deleted
tuc backup auto-enable --daily

Enable daily automatic backups.

$ tuc backup auto-enable --daily
✓ automatic daily backups enabled
tuc notification list

List notification subscriptions.

$ tuc notification list
slack://monitoring  (all events)
alice@team          (failures only)
tuc notification subscribe --channel slack://alerts

Subscribe to notifications on Slack channel.

$ tuc notification subscribe --channel slack://alerts
✓ subscribed to slack://alerts
tuc notification subscribe --email alice@team --when failure

Subscribe to failure notifications via email.

$ tuc notification subscribe --email alice@team --when failure
✓ subscribed
tuc notification unsubscribe --channel slack://alerts

Unsubscribe from notifications.

$ tuc notification unsubscribe --channel slack://alerts
✓ unsubscribed
tuc notification test --channel slack://alerts

Send test notification to channel.

$ tuc notification test --channel slack://alerts
✓ test notification sent

Integration & Webhooks

tuc webhook list

List configured webhooks.

$ tuc webhook list
WEBHOOK_ID  EVENT     URL                        ACTIVE
wh_abc123   fleet:run https://monitoring.local    yes
wh_xyz789   agent:up  https://monitoring.local    yes
tuc webhook create --event fleet:run --url <url>

Create webhook for fleet run events.

$ tuc webhook create --event fleet:run --url https://monitoring.local/tuc/webhook
✓ webhook created (wh_abc123)
tuc webhook create --event agent:online --url <url>

Create webhook for agent online events.

$ tuc webhook create --event agent:online --url https://api.example.com
✓ webhook created
tuc webhook create --event agent:offline --url <url>

Create webhook for agent offline events.

$ tuc webhook create --event agent:offline --url https://api.example.com
✓ webhook created
tuc webhook create --event session:start --url <url>

Create webhook for session start events.

$ tuc webhook create --event session:start --url https://audit.example.com
✓ webhook created
tuc webhook create --event session:end --url <url>

Create webhook for session end events.

$ tuc webhook create --event session:end --url https://audit.example.com
✓ webhook created
tuc webhook update <id> --url <new-url>

Update webhook URL.

$ tuc webhook update wh_abc123 --url https://new.endpoint.com
✓ webhook updated
tuc webhook update <id> --active false

Disable a webhook.

$ tuc webhook update wh_abc123 --active false
✓ webhook disabled
tuc webhook delete <id>

Delete a webhook.

$ tuc webhook delete wh_abc123
✓ webhook deleted
tuc webhook test <id>

Send test event to webhook.

$ tuc webhook test wh_abc123
✓ test event sent (200 OK)
tuc webhook logs <id>

Show webhook delivery logs.

$ tuc webhook logs wh_abc123
2026-06-11 14:22  200  4ms
2026-06-11 14:21  200  5ms
tuc webhook retry <id> --event <event-id>

Retry failed webhook delivery.

$ tuc webhook retry wh_abc123 --event evt_xyz
✓ retrying event delivery
tuc webhook verify <request-signature>

Verify webhook request signature.

$ tuc webhook verify sig_xyz123
✓ signature verified
tuc integration slack connect

Connect Slack workspace to TucDesk.

$ tuc integration slack connect
(opens browser to Slack OAuth)
✓ Slack workspace connected
tuc integration slack disconnect

Disconnect Slack integration.

$ tuc integration slack disconnect
⚠ This will revoke TucDesk access. Continue? [y/N] y
✓ disconnected
tuc integration slack notify --channel alerts --when failure

Send notifications to Slack channel on failure.

$ tuc integration slack notify --channel alerts --when failure
✓ slack notifications configured
tuc integration slack test

Send test message to Slack.

$ tuc integration slack test
✓ test message sent to #tuc-notifications
tuc integration pagerduty connect --token <api-key>

Connect PagerDuty account.

$ tuc integration pagerduty connect --token <api-key>
✓ PagerDuty account connected
tuc integration pagerduty notify --severity high

Send high-severity incidents to PagerDuty.

$ tuc integration pagerduty notify --severity high
✓ high-severity notifications configured
tuc integration pagerduty disconnect

Disconnect PagerDuty.

$ tuc integration pagerduty disconnect
✓ disconnected
tuc integration datadog connect --api-key <key> --app-key <key>

Connect Datadog account.

$ tuc integration datadog connect --api-key xxx --app-key yyy
✓ Datadog account connected
tuc integration datadog send-metrics

Send TucDesk metrics to Datadog.

$ tuc integration datadog send-metrics
✓ metrics sent to Datadog
tuc integration datadog disconnect

Disconnect Datadog.

$ tuc integration datadog disconnect
✓ disconnected
tuc integration splunk connect --hec-token <token> --hec-url <url>

Connect Splunk via HTTP Event Collector.

$ tuc integration splunk connect --hec-token xxx --hec-url https://splunk.local:8088
✓ Splunk HEC connected
tuc integration splunk send-logs

Send TucDesk logs to Splunk.

$ tuc integration splunk send-logs
✓ logs sent to Splunk
tuc integration splunk disconnect

Disconnect Splunk.

$ tuc integration splunk disconnect
✓ disconnected
tuc api token create --name "CI/CD"

Create API token for CI/CD integration.

$ tuc api token create --name "CI/CD"
api_token_xyz123...
(save this securely)
tuc api token create --scope fleet:run,agent:list

Create token with specific scopes.

$ tuc api token create --scope fleet:run,agent:list
api_token_xyz123...
tuc api token create --ttl 24h

Create temporary token valid for 24 hours.

$ tuc api token create --ttl 24h
api_token_temp_xyz...
tuc api token list

List API tokens.

$ tuc api token list
NAME     SCOPE           CREATED        ACTIVE
CI/CD    fleet:run       2026-06-01     yes
Backup   agent:list      2026-05-15     yes
tuc api token revoke <token-id>

Revoke an API token.

$ tuc api token revoke tok_abc123
✓ token revoked
tuc api token rotate <token-id>

Rotate token (revoke old, issue new).

$ tuc api token rotate tok_abc123
api_token_new_xyz...
tuc api token validate <token>

Validate an API token.

$ tuc api token validate api_token_xyz123
✓ valid (scope: fleet:run,agent:list)
tuc oauth app create --name "monitoring"

Register new OAuth application.

$ tuc oauth app create --name "monitoring"
client_id      app_xyz123
client_secret  secret_abc456
redirect_uri   (configure in app)
tuc oauth app list

List registered OAuth applications.

$ tuc oauth app list
monitoring  app_xyz123  active
backup-tool app_abc456  active
tuc oauth app revoke <app-id>

Revoke OAuth application.

$ tuc oauth app revoke app_xyz123
✓ application revoked
tuc oauth authorize --app-id <id> --scope fleet:run

Authorize OAuth application with specific scope.

$ tuc oauth authorize --app-id app_xyz123 --scope fleet:run
✓ application authorized
tuc sync status

Show sync status with other instances.

$ tuc sync status
instance-01   synced   5s ago
instance-02   synced   3s ago
tuc sync enable --peer <url>

Enable sync with another TucDesk instance.

$ tuc sync enable --peer https://other-instance.com
✓ sync enabled (bidirectional)
tuc sync disable --peer <url>

Disable sync with a peer.

$ tuc sync disable --peer https://other-instance.com
✓ sync disabled
tuc sync force-sync

Force immediate sync with all peers.

$ tuc sync force-sync
✓ sync in progress
✓ 2 peers synchronized
tuc sync conflicts

Show sync conflicts that need resolution.

$ tuc sync conflicts
agent tag: prod (3 versions)
acl rule: user-alice (2 versions)
tuc sync resolve --conflicts acl --strategy latest

Resolve sync conflicts using strategy.

$ tuc sync resolve --conflicts acl --strategy latest
✓ conflicts resolved

Mobile & Dashboard

tuc mobile pair --code <code>

Pair mobile device with dashboard pairing code.

$ tuc mobile pair --code 123456
✓ mobile device paired (iOS/Android)
tuc mobile unpair <device-id>

Unpair a mobile device.

$ tuc mobile unpair device_abc123
✓ device unpaired
tuc mobile list

List paired mobile devices.

$ tuc mobile list
DEVICE_ID      OS       NAME          LAST SEEN
device_abc123  iOS      Alice iPhone  5m ago
device_xyz789  Android  Bob Pixel     1h ago
tuc mobile status <device-id>

Check status of paired mobile device.

$ tuc mobile status device_abc123
status      online
battery     87%
location    online (last seen 5m ago)
tuc mobile logs <device-id>

Show logs from mobile device.

$ tuc mobile logs device_abc123
2026-06-11 14:22  [info] session connected
2026-06-11 14:21  [info] heartbeat sent
tuc mobile update <device-id>

Push update to mobile app.

$ tuc mobile update device_abc123
✓ update pushed (will install on next launch)
tuc mobile permissions <device-id>

Check mobile device permissions.

$ tuc mobile permissions device_abc123
notification   granted
clipboard      denied
tuc mobile config <device-id> --set push-notifications true

Configure mobile device settings.

$ tuc mobile config device_abc123 --set push-notifications true
✓ configuration updated
tuc dashboard status

Check dashboard service status.

$ tuc dashboard status
web        online (1.2.3)
api        online (1.2.3)
database   online
cache      online
tuc dashboard config get <key>

Get dashboard configuration.

$ tuc dashboard config get session-timeout
session-timeout: 30m
tuc dashboard config set <key> <value>

Set dashboard configuration.

$ tuc dashboard config set session-timeout 60m
✓ configuration updated
tuc dashboard logs --service web

Show dashboard web service logs.

$ tuc dashboard logs --service web
2026-06-11 14:22 [info] request GET /api/agents
tuc dashboard metrics

Show dashboard metrics.

$ tuc dashboard metrics
requests_per_sec  234
error_rate        0.1%
response_time     45ms
tuc dashboard health

Run health check on dashboard.

$ tuc dashboard health
✓ web service healthy
✓ api responding
✓ database connected
tuc dashboard restart

Restart dashboard services.

$ tuc dashboard restart
(restarting services...)
✓ dashboard restarted
tuc dashboard backup

Backup dashboard data.

$ tuc dashboard backup
✓ backup created (234MB)
tuc dashboard theme set dark

Set dashboard theme.

$ tuc dashboard theme set dark
✓ theme updated
tuc dashboard theme set light

Set dashboard to light theme.

$ tuc dashboard theme set light
✓ theme updated
tuc dashboard language set es

Set dashboard language.

$ tuc dashboard language set es
✓ language updated (español)

Troubleshooting & Support

tuc doctor

Run comprehensive system diagnostics.

$ tuc doctor
✓ CLI version: 2.8.1
✓ API connectivity
✓ local configuration
✗ certificate expiry (warning)
tuc doctor --verbose

Run diagnostics with detailed output.

$ tuc doctor --verbose
(detailed system information)
tuc debug enable

Enable debug logging.

$ tuc debug enable
✓ debug logging enabled
(logs written to ~/.config/tuc/debug.log)
tuc debug logs --follow

Stream debug logs in real-time.

$ tuc debug logs --follow
(streaming debug logs...)
tuc debug disable

Disable debug logging.

$ tuc debug disable
✓ debug logging disabled
tuc trace --command "tuc agent list"

Trace command execution with timing.

$ tuc trace --command "tuc agent list"
send request        2ms
receive response    45ms
parse json          1ms
tuc benchmark

Run performance benchmarks.

$ tuc benchmark
agent list (100 agents)  234ms
fleet run (12 agents)    1.2s
tuc sysinfo

Show system information.

$ tuc sysinfo
OS:         macOS 13.2
Arch:       arm64
CLI:        2.8.1
API:        https://api.yourdomain.com
tuc network test

Test network connectivity to API.

$ tuc network test
✓ connection to api.yourdomain.com
✓ TLS certificate valid
✓ response time 45ms
tuc network proxy --detect

Detect proxy settings.

$ tuc network proxy --detect
proxy detected: http://proxy.local:3128
tuc network proxy --set <url>

Set HTTP proxy.

$ tuc network proxy --set http://proxy.local:3128
✓ proxy configured
tuc network dns-test

Test DNS resolution.

$ tuc network dns-test
api.yourdomain.com  → 203.0.113.45 (45ms)
tuc log export --since 24h

Export logs from last 24 hours.

$ tuc log export --since 24h
✓ exported to logs-2026-06-11.zip
tuc log clear

Clear local log files.

$ tuc log clear
⚠ Clear logs? [y/N] y
✓ logs cleared
tuc error report <error-code>

Get information about an error code.

$ tuc error report ERR_CONN_TIMEOUT
Connection timeout. Check network or increase timeout.
tuc error submit --description "issue description"

Submit error report to support.

$ tuc error submit --description "agent won't pair"
✓ report submitted (ticket: TKT-123456)
tuc version

Show CLI version.

$ tuc version
2.8.1 (build 2026-05-15)
tuc version --check

Check for available updates.

$ tuc version --check
✓ 2.9.0 available (current: 2.8.1)
tuc update

Update CLI to latest version.

$ tuc update
Updating 2.8.1 → 2.9.0...
✓ CLI updated
tuc update --to 2.8.0

Update to specific version.

$ tuc update --to 2.8.0
⚠ Downgrade to 2.8.0? [y/N] y
✓ downgraded
tuc update --dry-run

Preview update without installing.

$ tuc update --dry-run
Would update: 2.8.1 → 2.9.0 (24MB)
tuc help

Show CLI help.

$ tuc help
tuc — the TucDesk fleet CLI
COMMANDS: agent, session, fleet, config, audit, acl
tuc help <command>

Show help for specific command.

$ tuc help fleet
fleet — fleet operations
SUBCOMMANDS: run, status, health, scale
tuc examples

Show command examples.

$ tuc examples
# Run command on production fleet
tuc fleet run --tag prod --command "systemctl restart nginx"
tuc feedback

Send feedback to TucDesk team.

$ tuc feedback
(opens feedback form in browser)
tuc feedback --message "feature request"

Send feedback directly.

$ tuc feedback --message "please add X feature"
✓ feedback sent
tuc cache clear

Clear CLI cache.

$ tuc cache clear
✓ cache cleared (freed 12MB)
tuc cache stats

Show cache statistics.

$ tuc cache stats
items       234
size        12MB
hits        1,234
misses      89
tuc storage info

Show local storage info.

$ tuc storage info
config    ~/.config/tuc (234KB)
logs      ~/.tuc/logs (45MB)
cache     ~/.tuc/cache (12MB)

Advanced Operations

tuc batch run --file operations.yml

Run multiple operations from YAML file.

$ tuc batch run --file operations.yml
(executing 5 operations...)
✓ batch completed
tuc batch create --name "daily-update"

Create reusable batch operation.

$ tuc batch create --name "daily-update"
(editor opens for definition)
✓ batch created
tuc batch list

List saved batch operations.

$ tuc batch list
daily-update     (5 steps)
weekly-scan      (8 steps)
tuc batch execute <name>

Execute a saved batch operation.

$ tuc batch execute daily-update
(executing batch...)
✓ completed
tuc batch schedule <name> --cron "0 0 * * *"

Schedule batch operation on cron.

$ tuc batch schedule daily-update --cron "0 0 * * *"
✓ scheduled daily at midnight
tuc batch delete <name>

Delete a batch operation.

$ tuc batch delete old-batch
✓ batch deleted
tuc script run <file>

Run bash/shell script through TucDesk.

$ tuc script run deploy.sh
(executing script on agents...)
tuc script validate <file>

Validate script syntax before running.

$ tuc script validate deploy.sh
✓ script valid
tuc script template

Create new script template.

$ tuc script template > myscript.sh
(template with examples)
tuc script library list

List script library functions.

$ tuc script library list
tuc_alert()
tuc_retry()
tuc_parallel()
tuc --dry-run <command>

Preview command without executing.

$ tuc --dry-run fleet run --tag prod --command "systemctl restart"
Would affect: 12 agents
tuc test --agent <id> <command>

Test a command on single agent.

$ tuc test --agent web-01 "echo test"
web-01: test
tuc validate --command "<cmd>"

Validate command syntax.

$ tuc validate --command "systemctl restart nginx"
✓ command valid
tuc metrics fleet

Show fleet-wide metrics.

$ tuc metrics fleet
agents_online    26/27 (96%)
avg_latency      45ms
cpu_usage        23%
tuc metrics agent <id>

Show metrics for specific agent.

$ tuc metrics agent agt_9f2c1
cpu        12.3%
memory     512MB / 2GB
uptime     45d
tuc metrics export --format prometheus

Export metrics in Prometheus format.

$ tuc metrics export --format prometheus > metrics.txt
tuc metrics timeseries --agent <id> --metric cpu

Show metric timeseries for agent.

$ tuc metrics timeseries --agent agt_9f2c1 --metric cpu
(CPU usage over time graph)
tuc policy list

List defined policies.

$ tuc policy list
session-timeout     30m
fleet-approval      required
encryption          required
tuc policy create --name session-timeout --value 60m

Create new policy.

$ tuc policy create --name session-timeout --value 60m
✓ policy created
tuc policy update <name> --value <value>

Update policy value.

$ tuc policy update session-timeout --value 60m
✓ policy updated
tuc policy delete <name>

Delete policy.

$ tuc policy delete old-policy
✓ policy deleted
tuc policy audit <name>

Show policy change history.

$ tuc policy audit session-timeout
2026-06-11  alice@team  30m → 45m
tuc alias create <name> <command>

Create command alias for faster typing.

$ tuc alias create restart-prod "fleet run --tag prod --command 'systemctl restart'"
✓ alias created (restart-prod)
tuc alias list

List custom aliases.

$ tuc alias list
restart-prod     fleet run --tag prod...
update-prod      fleet update --tag prod...
tuc alias delete <name>

Delete custom alias.

$ tuc alias delete restart-prod
✓ alias deleted
tuc query --agent "os:linux AND cpu>80"

Find agents matching query.

$ tuc query --agent "os:linux AND cpu>80"
Matched 3 agents
tuc query --session "actor:alice@team AND duration>30m"

Find sessions matching query.

$ tuc query --session "actor:alice@team AND duration>30m"
Matched 2 sessions
tuc export agents --format json

Export agents list as JSON.

$ tuc export agents --format json > agents.json
tuc export config --format yaml

Export configuration as YAML.

$ tuc export config --format yaml > config.yaml
tuc import agents --file agents.json

Import agents from JSON file.

$ tuc import agents --file agents.json
✓ imported 5 agents
tuc import config --file config.yaml

Import configuration from file.

$ tuc import config --file config.yaml
✓ configuration imported
tuc lock acquire --resource fleet

Acquire exclusive lock for fleet operations.

$ tuc lock acquire --resource fleet
✓ fleet locked (held by you)
tuc lock release --resource fleet

Release fleet lock.

$ tuc lock release --resource fleet
✓ fleet lock released
tuc maintenance enable

Enable maintenance mode (pause operations).

$ tuc maintenance enable
✓ maintenance mode enabled
tuc maintenance disable

Disable maintenance mode.

$ tuc maintenance disable
✓ maintenance mode disabled
tuc maintenance status

Check maintenance mode status.

$ tuc maintenance status
mode      enabled
since     2026-06-11 14:20
reason    system update

Environment & Variables

tuc env init

Initialize environment configuration.

$ tuc env init
✓ environment initialized
tuc env list

List environment variables.

$ tuc env list
TUC_API_URL        https://api.yourdomain.com
TUC_DEFAULT_TAG    prod
tuc env set <name> <value>

Set environment variable.

$ tuc env set TUC_API_URL https://api.yourdomain.com
✓ environment variable set
tuc env get <name>

Get environment variable value.

$ tuc env get TUC_API_URL
https://api.yourdomain.com
tuc env unset <name>

Unset environment variable.

$ tuc env unset TUC_DEFAULT_TAG
✓ variable removed
tuc env export

Export all environment variables.

$ tuc env export > .env
tuc env import <file>

Import environment from file.

$ tuc env import .env.prod
✓ 5 variables imported
tuc env validate

Validate environment configuration.

$ tuc env validate
✓ environment configuration valid
tuc env switch <profile>

Switch to different environment profile.

$ tuc env switch prod
✓ switched to prod environment
tuc env create-profile <name>

Create new environment profile.

$ tuc env create-profile staging
✓ profile created (staging)
Ready to connect your first agent?

Free for up to 3 agents. No credit card.

Get Started Free →