Coder powers secure, scalable development across key industries — automotive, finance, government, and technology — enabling faster builds, tighter compliance, and seamless AI adoption in enterprise-grade cloud environments.
The Connection Log page in the dashboard allows Auditors to monitor workspace agent connections.
Workspace App Connections
The connection log contains a complete record of all workspace app connections.
These originate from within the Coder deployment, and thus the connection log
is a source of truth for these events.
Browser Port Forwarding
The connection log contains a complete record of all workspace port forwarding
performed via the dashboard.
SSH and IDE Sessions
The connection log aims to capture a record of all workspace SSH and IDE sessions.
These events are reported by workspace agents, and their receipt by the server
is not guaranteed.
Agent-reported events do not identify the Coder user who connected. To
attribute SSH and IDE activity to a user, correlate them with tunnel
events for the same workspace and agent.
Tunnel Connections
The connection log records the authorization decision for each request to add a tunnel to a workspace agent.
Accepted requests have status code 101, and denied requests have status code 403.
Tunnel events include the authenticated user's identity, IP address, and user agent.
Keep the following in mind when interpreting tunnel events:
A tunnel event records an authorization decision, not how the tunnel was used.
Clients such as coder ssh, coder port-forward, coder ping, coder speedtest, Coder Desktop, and IDE extensions can request tunnels.
Tunnel events are deduplicated per workspace agent, actor, IP address, client, and authorization result.
Clients automatically re-request tunnels after network interruptions or server restarts.
These requests do not produce new events while a session is active.
A new event is recorded after one hour of inactivity, or when the actor, IP address, client, or result changes.
Like workspace app connections, tunnel events are point-in-time records.
They have no close time and are excluded from status: filter results.
How to Filter Connection Logs
You can filter connection logs by the following parameters:
organization - The name or ID of the organization of the workspace being
connected to.
workspace_owner - The username of the owner of the workspace being connected
to.
type - The type of the connection, such as SSH, VS Code, or workspace app.
For more connection types, refer to the
CoderSDK documentation.
username: The name of the user who initiated the connection.
Results do not include agent-reported SSH or IDE sessions.
user_email: The email of the user who initiated the connection.
Results do not include agent-reported SSH or IDE sessions.
connected_after: The time after which the connection started.
Uses the RFC3339Nano format.
connected_before: The time before which the connection started.
Uses the RFC3339Nano format.
workspace_id: The ID of the workspace being connected to.
connection_id: The ID of the connection.
status: The status of the connection, either ongoing or completed.
Some events are neither ongoing nor completed, such as the opening of a
workspace app.
Capturing/Exporting Connection Logs
In addition to the Coder dashboard, there are multiple ways to consume or query
connection events.
Coder supports configurable retention policies that automatically purge old
Connection Logs. To enable automated purging, configure the
--connection-logs-retention flag or CODER_CONNECTION_LOGS_RETENTION
environment variable. For comprehensive configuration options, see
Data Retention.