When you have a problem with CodeCharter, the right logs help us diagnose it faster.
CLI verbose log
The most important data point. Run the problem with --verbose (analyze expects the path to a .sln, .slnx, or .csproj file):
codecharter analyze MySolution.sln --verbose 2> codecharter.log
codecharter.log contains:
- Which rules directory was used and how many rules were loaded from it
- How many types and methods were analyzed
- Stack traces if the analysis fails
If the analysis hangs or is unusually slow, add --progress as well — it prints live per-project and per-rule progress to stderr and can be combined with --verbose.
Attach the file when you write to us.
VS Code extension log
View → Output, select "CodeCharter" from the dropdown, copy the contents. The command palette entry "CodeCharter: Show language server output" opens the same channel directly.
The Output channel contains the language server log. To reproduce startup logging, run "CodeCharter: Restart language server" once, then copy the contents. Note that "CodeCharter: Analyze workspace" runs the CLI in a VS Code terminal, so its output appears in the terminal, not in the Output channel.
For detailed communication logs between VS Code and the language server, set codecharter.trace.server to messages or verbose in the VS Code settings, reproduce the problem, and copy the Output channel contents.
CI logs
For a CI problem:
- GitHub Actions: click the workflow run, click "View raw logs", save the contents as a .txt file.
- GitLab: job detail page, "Show complete raw" in the top right.
- TeamCity: build detail, "Build Log" tab, "Download".
- Others: equivalent.
For large logs, a cut around the relevant section plus 20 lines of context is usually enough.
CLI version and system info
codecharter --version
dotnet --info
uname -a # Linux / macOS
systeminfo # Windows
Include these as well. They help us narrow down platform-specific problems.
Solution info without sensitive data
# Count projects without revealing paths (Linux / macOS)
find . -name "*.csproj" | wc -l
# Windows (PowerShell)
(Get-ChildItem -Recurse -Filter "*.csproj").Count
If you are referring to a specific file, you can extract a minimal repro — the smallest piece of code that shows the problem:
// minimal-repro.cs
using System;
public class Example
{
public void Demo()
{
// The problem occurs here
}
}
A solution with one project containing this file is all we need. We do not need your real codebase.
Networking logs
If you have problems with the CLI download:
# Replace YOUR_KEY_HERE with your actual key. Caution: curl -v writes all
# request headers, including the Authorization header with your key, into
# network.log — mask it before sending the file.
curl -v -H "Authorization: Bearer YOUR_KEY_HERE" \
https://codecharter.tools/api/v1/cli/linux-x64/latest \
-o codecharter.tar.gz 2> network.log
-v produces the full HTTP trace. Before sending network.log to us,
verify that no API key appears in it — the Authorization header value will
be visible in the request trace, so replace it with *** before attaching.
Platform rules and license problems
If the problem involves platform rules or bundles, attach your codecharter.lock.json and the output of codecharter verify — it checks the local bundle cache against the lockfile and exits with code 1 when it detects drift.
If the CLI refuses to run because of a license problem, it always exits with code 6 and prints a License error: ... message to stderr. Include that message; it usually pinpoints the cause directly.
Portal-side logs
If the problem is in the portal (login failing, download aborting), we can look up on our end whether an error occurred. Send us:
- The approximate time (UTC)
- The email you were logged in with
- The browser stack (Chrome 121, Firefox 122, ...)
What we do NOT need
- Your complete codebase (not even under NDA — we simply do not want it).
- Plaintext API keys. If a log contains a key, mask it.
- Plaintext passwords. Passwords are stored only as hashes on our side — never send us a password.
How to send it all
Email to [email protected] with logs as .txt or .log attachments. If the files are large (several MB), feel free to gzip or zip them.
We typically respond within 24 hours on business days.