Use this guide when a maintainer asks for frontend or backend logs while investigating a Kandev issue.
Debug logs can include prompts, tool calls, file paths, task IDs, repository names, and snippets of local context. Review the files before sharing them publicly. Prefer sending them in a private support thread when they may contain sensitive data.
A maintainer may ask for one kind of log or for both:
- Frontend logs: Browser console output from the affected page. These are usually enough for UI issues, layout problems, stale page state, missing updates, or click flows that behave incorrectly.
- Backend logs: Terminal or service logs from the Kandev server. These are useful for startup failures, agent failures, task execution problems, integration errors, database errors, and service issues.
- Both: Best when the issue crosses the UI and server boundary, such as WebSocket updates, task/session state mismatches, missing messages, or anything that is hard to classify.
If the maintainer asks for frontend logs only, you do not need to send ~/kandev-debug.log unless they ask for it later.
Use these steps for a normal Homebrew, npm, or npx install. If you run Kandev as a service or container, use the matching section below so the logs come from the same data directory, port, and deployment that has the issue.
-
Stop the Kandev server you are already using.
- If it is running in a terminal, press
Ctrl-C. - If it is running as a user service, run
kandev service stop. - If it is running as a system service, run
sudo kandev service stop --system.
- If it is running in a terminal, press
-
Start Kandev in debug mode using the same install channel:
# Homebrew or global npm install kandev --debug 2>&1 | tee ~/kandev-debug.log
# npx install npx -y kandev@latest --debug 2>&1 | tee ~/kandev-debug.log
-
Open the task or page that has the issue.
-
Open the browser DevTools Console, clear it, enable verbose/debug messages, then refresh the page.
-
Reproduce the issue.
-
Share:
- The browser console export or screenshot/text, if frontend logs were requested.
~/kandev-debug.log, if backend logs were requested.- The task URL or task ID, and a short description of what you clicked before the issue happened.
-
When done, press
Ctrl-Cin the debug terminal. If you stopped a service, start it again:kandev service start
sudo kandev service start --system
The frontend debug logs are browser console logs. They are most useful when they only contain the page and task that has the issue.
- Start Kandev with
--debug. - Open the affected task details page.
- Open DevTools.
- Chrome or Edge: right-click the page, choose Inspect, then open Console.
- Firefox: right-click the page, choose Inspect, then open Console.
- In the Console:
- Clear existing logs.
- Enable Verbose or Debug logs. Kandev frontend debug lines use
console.debug. - Enable Preserve log if the issue involves page reloads or navigation.
- Leave the filter box empty unless a maintainer asks for a specific filter.
- Refresh the page.
- Reproduce the issue.
- Copy or export the Console output and share it with the maintainer.
You can check whether frontend debug mode is active by typing this in the Console:
window.__KANDEV_DEBUGIt should print true.
When Kandev is started with:
kandev --debug 2>&1 | tee ~/kandev-debug.logthe backend logs are written to the terminal and saved to ~/kandev-debug.log.
Leave that terminal open while reproducing the issue. After the issue happens, send the saved file.
If you normally run Kandev as a service, the cleanest debug flow is usually:
kandev service stop
kandev --debug 2>&1 | tee ~/kandev-debug.log
# reproduce the issue
# press Ctrl-C
kandev service startFor a system service:
sudo kandev service stop --system
sudo KANDEV_HOME_DIR=/var/lib/kandev kandev --debug 2>&1 | tee ~/kandev-debug.log
# reproduce the issue
# press Ctrl-C
sudo kandev service start --systemIf the service was installed with a custom home directory or port, first run:
kandev service configFor a system service:
sudo kandev service config --systemThen start debug mode with the same values shown in the service config:
KANDEV_HOME_DIR=/path/from/service/config kandev --debug --port <port from service config> 2>&1 | tee ~/kandev-debug.logFor a custom system service, run the same command with sudo.
If you should not stop the service, collect the existing service logs instead:
kandev service logs > ~/kandev-service.logsudo kandev service logs --system > ~/kandev-service.logTo capture live logs while reproducing:
kandev service logs -f | tee ~/kandev-service.logsudo kandev service logs -f --system | tee ~/kandev-service.logFor Docker or Kubernetes installs, collect logs from the running container or pod. Do not start kandev --debug on the host unless a maintainer asks you to, because that starts a separate local instance.
For Docker:
docker logs kandev > ~/kandev-container.log
docker logs -f kandev | tee ~/kandev-container-live.logIf you need to recreate the container with debug logging, keep the same image, published port, and /data volume, then add KANDEV_LOG_LEVEL=debug:
docker stop kandev
docker rm kandev
docker run -p 38429:38429 \
-v kandev-data:/data \
-e KANDEV_LOG_LEVEL=debug \
--name kandev \
ghcr.io/kdlbs/kandev:latestFor Kubernetes:
kubectl logs deploy/kandev > ~/kandev-container.log
kubectl logs -f deploy/kandev | tee ~/kandev-container-live.logIf the maintainer asks for debug-level Kubernetes logs, set KANDEV_LOG_LEVEL=debug on the existing workload and keep the same volume claim and service port.
Kandev also has a built-in path for sharing recent logs with a task:
- Start Kandev with
--debug. - Reproduce the issue in the same browser tab.
- Open Improve Kandev from the sidebar.
- Leave Include recent backend & browser logs as context for the agent checked.
- Submit the issue.
This writes recent backend logs and browser console events to a temporary bundle and adds the bundle file paths to the task description.
When reporting an issue, include:
- Kandev version:
kandev --versionor the version shown in Settings. - Install method: Homebrew, npx, npm global, service, Docker, or source checkout.
- Operating system.
- The task URL or task ID.
- The requested logs: frontend console logs, backend logs, or both.
- The exact steps that reproduce the issue.
Do not send your SQLite database, repository contents, credentials, API keys, or screenshots containing secrets unless a maintainer explicitly asks for them and you are comfortable sharing them privately.