Troubleshooting
Note
This feature is experimental and may change without notice in future releases.
Test Sync Availability
From a workspace terminal, test if sync is working using coder exp sync ping:
coder exp sync ping
- If sync is working, expect the output to be
Success. - Otherwise, you will see an error message similar to the below:
error: connect to agent socket: connect to socket: dial unix /tmp/coder-agent.sock: connect: permission denied
Check Unit Status
You can check the status of a specific unit using coder exp sync status:
coder exp sync status git-clone
If the unit exists, you will see output similar to the below:
# coder exp sync status git-clone
Unit: git-clone
Status: completed
Ready: true
If the unit is not known to the agent, you will see output similar to the below:
# coder exp sync status doesnotexist
Unit: doesnotexist
Status: not registered
Ready: true
Dependencies:
No dependencies found
Common Issues
Socket not enabled
If the Coder Agent Socket Server is not enabled, you will see an error message similar to the below when running coder exp sync ping:
error: connect to agent socket: connect to socket: dial unix /tmp/coder-agent.sock: connect: no such file or directory
Verify CODER_AGENT_SOCKET_SERVER_ENABLED=true is set in the Coder agent's environment:
tr '\0' '\n' < /proc/$(pidof -s coder)/environ | grep CODER_AGENT_SOCKET_SERVER_ENABLED
If the output of the above command is empty, review your template and ensure that the environment variable is set such that it is readable by the Coder agent process. Setting it on the coder_agent resource directly is not sufficient.
Workspace startup script hangs
If the workspace startup scripts appear to 'hang', one or more of your startup scripts may be waiting for a dependency that never completes.
- Inside the workspace, review
/tmp/coder-script-*.logfor more details on your script's execution.Tip: add
set -xto the top of your script to enable debug mode and update/restart the workspace. - Review your template and verify that
coder exp sync complete <unit>is called after the script completes e.g. with an exit trap. - View the unit status using
coder exp sync status <unit>.
Workspace startup scripts fail
If the workspace startup scripts fail:
-
Review
/tmp/coder-script-*.loginside the workspace for script errors. -
Verify the Coder CLI is available in
$PATHinside the workspace:command -v coder
Cycle detected
If you see an error similar to the below in your startup script logs, you have defined a cyclic dependency:
error: declare dependency failed: cannot add dependency: adding edge for unit "bar": failed to add dependency
adding edge (bar -> foo): cycle detected
To fix this, review your dependency declarations and redesign them to remove the cycle. It may help to draw out the dependency graph to find the cycle.


