Skip to content
Docs
Get early access

Activity log

Every node keeps a record of what Dashcat did there: everything your AI asked for through the Dashcat connector or a bridge, how each request ended, and which bridges connected. It works the same on nodes nobody is watching. You don’t need to turn it on.

On the node:

Terminal window
dashcat-agent activity # The last 50 events, newest last
dashcat-agent activity -n 500 # More
dashcat-agent activity --json # As stored, one JSON object per line

Each request and its result share a line:

2026-11-03 19:01:03 UTC dashcat-bridge@laptop connected from 192.168.1.20:51144
2026-11-03 19:01:03 UTC dashcat-bridge@laptop Run: brew upgrade [done, exit code 0, 3.2 s]
2026-11-03 19:01:09 UTC dashcat-bridge@laptop Replace /etc/hosts (412 bytes) [allowed once at the node, done, 9.4 s]
2026-11-03 19:01:30 UTC dashcat-bridge@laptop Take a screenshot of display 0 [refused: this node does not allow this bridge to see the screen. …]
2026-11-03 19:02:00 UTC dashcat-bridge@laptop disconnected

Requests through the Dashcat connector appear the same way, under the handle of the person who asked and the AI app that sent them, for example Dashcat connector (@tom via Claude (claude.ai)). Requests through a bridge in Direct mode appear under the bridge’s name, as above.

A request is recorded as soon as it arrives, before it runs. If the line says “no result recorded”, the request was still running when the bridge disconnected or the node stopped: a restart command, for example.

Event Recorded
Pairing Bridge name, fingerprint and address
Refused connections Address and reason: an unknown bridge, or a wrong or expired pairing code
Connecting and disconnecting Bridge name, fingerprint and address
Requests What was asked, in the words above, and how it ended: done (with the exit code for commands), failed or refused, with the reason and how long it took
Refused connector commands Commands from Dashcat’s cloud that failed the node’s checks (wrong signature, another node’s, expired or repeated) and did not run, with the reason
Answers When the node asked first, what the person at the node chose
Permission changes dashcat-agent bridges allow, ask, deny and revoke

It never records file contents, command output, screenshots or environment variables. Text typed into apps, and values filled into fields, appear as their length only. Commands are recorded as they were sent, so a password written into a command line will be in the log.

agent-activity.log, beside the agent’s other files (see Configuration), readable only by the node’s user. At 10 MB it moves to agent-activity.1.log, replacing the one before, so the log never takes more than about 20 MB. Both are plain text: grep, jq and log collectors read them directly. Each line has a time (UTC) and an event; requests and their results share session and id.

  • The log is kept by the agent, which runs as the node’s user. Anything a bridge runs also runs as that user, so a bridge can delete or change the log. Treat it as a record, not proof. A copy of every node’s log in Dashcat Dashboard is coming, but isn’t there yet.
  • If the log can’t be written, for example because the disk is full, requests still run and the agent reports the problem in its own output.
  • Only the node can read its log. Your AI can’t read it through Dashcat yet.

© 2026 Dashcat · Free during the preview