Troubleshooting
Common problems and how to fix them. Start here if something isn't working.
Installation Issues
MCP server not appearing in Claude Code
Symptom: After installing and configuring, /asciikit-* commands aren't available.
Common causes:
- Config file has syntax errors
- AsciiKit is in the wrong section of
~/.claude.json - Using project-specific config but running from different directory
Fix:
Step 1: Verify config file
Check ~/.claude.json exists and is valid JSON:
cat ~/.claude.json
Step 2: Check configuration location
For global configuration, AsciiKit must be under the root mcpServers:
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_LICENSE_KEY": "..."
}
}
}
}
NOT inside "projects":
{
"projects": {
"/some/path": {
"mcpServers": {
"asciikit": { ... } ← Only works in this directory
}
}
}
}
Step 3: Validate JSON syntax
Common mistakes:
- Missing commas between sections
- Missing quotes around strings
- Extra comma after last item
Copy your config and validate at jsonlint.com
Step 4: Start fresh session
Exit Claude Code and start a new session:
claude
/mcp
You should see asciikit in the list.
"command not found: asciikit-mcp"
Symptom: After running npm install -g asciikit-mcp, you get "command not found" when trying to run it.
Cause: npm's global bin directory isn't in your system PATH.
Fix:
Step 1: Find npm's global directory
npm config get prefix
This shows where npm installs global packages (e.g., /usr/local or ~/.npm-global).
Step 2: Add to PATH
On macOS/Linux:
Edit your shell config file:
# For zsh (default on macOS):
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# For bash:
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
On Windows:
- Open System Properties → Environment Variables
- Find "Path" in User variables
- Add:
C:\Users\YourUsername\AppData\Roaming\npm - Restart terminal
Step 3: Verify
asciikit-mcp --version
Should show the version number.
npm install fails with EACCES permission error
Symptom: npm install -g asciikit-mcp fails with permission errors.
Cause: npm doesn't have permission to write to global directory.
Fix (Option 1): Use npx (recommended)
npx -y asciikit-mcp@latest
This downloads and runs without global installation.
Update ~/.claude.json to use npx:
{
"mcpServers": {
"asciikit": {
"command": "npx",
"args": ["-y", "asciikit-mcp@latest"],
"env": {
"ASCIIKIT_LICENSE_KEY": "your_key_here"
}
}
}
}
Fix (Option 2): Fix npm permissions (one-time setup)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
npm install -g asciikit-mcp
License Issues
"Invalid license key" error
Symptom: MCP server fails to start with "Invalid license key" error.
Common causes:
- License key is wrong
- Extra spaces or line breaks in config
- Missing quotes around license key
Fix:
Step 1: Verify license key format
License keys look like:
- Trial:
ak_trial_+ 32 hex characters - Paid:
ak_live_+ 32 hex characters
Example: ak_trial_a1b2c3d4e5f6789012345678901234567
Step 2: Check config file
Open ~/.claude.json and verify:
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_LICENSE_KEY": "ak_trial_a1b2c3d4..."
}
}
}
}
✅ License key is in quotes ✅ No extra spaces before/after ✅ Correct env variable name: ASCIIKIT_LICENSE_KEY
Step 3: Copy license key from email
Don't retype - copy-paste directly from your trial/purchase email to avoid typos.
Step 4: Test manually
export ASCIIKIT_LICENSE_KEY="your_key_here"
asciikit-mcp --version
If this works, the issue is in your config file.
"License validation failed: Network error"
Symptom: License validation fails with network error.
What this means: The license API couldn't be reached, but you can still use AsciiKit.
Why it works: For network failures, AsciiKit "fails open" to avoid blocking you due to temporary connectivity issues. Your existing usage continues normally.
When to worry: If this message persists for days, there may be a network configuration issue on your side.
Fix:
Step 1: Check internet connection
Make sure you're online.
Step 2: Test API access
curl https://asciikit-license-api.currently-studio.workers.dev/health
Should return: {"status":"ok"}
If this fails, check:
- Firewall blocking Cloudflare domains
- VPN/proxy interfering
- Corporate network restrictions
Step 3: Check Claude Code network settings
Claude Code needs internet access for license validation. Check that it's not blocked by:
- Firewall rules
- Antivirus software
- Network security policies
Step 4: Try again later
Temporary server issues happen. Wait 5-10 minutes and try again.
"Trial usage limit exceeded"
Symptom: After using trial for a while, validation fails with "usage limit exceeded".
Cause: You've used all 10 trial uses.
What this means:
Trial licenses have 10 command uses. Each time you generate a wireframe, that counts as 1 use.
To check your usage:
Email hello@asciikit.com with your license key (or email address) and we'll tell you how many uses remain.
Solutions:
Subscribe for unlimited use: Visit asciikit.com
- Monthly: $19/month
- 3-Month: $49
- Yearly: $149
Contact support: If you hit the limit quickly and want to discuss options, email hello@asciikit.com
Usage Issues
I see messy tool output while Claude is designing
Symptom: While Claude works, you see lines like:
⏺ asciikit - get_design_intelligence (MCP)(domain: "health", ...)
⎿ { "context_summary": "...", "psychology": { ... +172 lines
⏺ asciikit - validate_wireframe (MCP)(wireframe: "┌────\n│...")
⎿ ✓ Auto-fixed width issues. Use this corrected version:
This is completely normal! This is Claude Code showing MCP tool activity as Claude works. You're seeing the intelligence frameworks in action:
- Design psychology being analyzed
- Wireframes being validated and auto-corrected
- Multiple design options being generated
Why it looks messy:
- Wireframe parameters show
\nescape characters for line breaks - Long JSON responses get collapsed (
… +172 lines (ctrl+o to expand)) - Multiple validation passes create visual noise
The good news:
- ✅ Final wireframes are always clean and perfectly formatted
- ✅ This proves the intelligence is real - you're seeing the "design kitchen"
- ✅ You can safely ignore the tool output and focus on the final designs
Can I hide this output?
No - this is how Claude Code renders all MCP tool calls. It's like watching a designer think through user psychology, cognitive science, and accessibility before presenting their work. The process looks messy, but the results are polished.
Pro tip: Think of it as proof the intelligence isn't fake - you're literally watching 6 psychological frameworks analyze your requirements in real-time.
Claude doesn't apply appropriate psychology
Symptom: Claude generates wireframes that don't match the psychological context you described.
Cause: Prompt might lack sufficient user context, emotional state, or domain information.
Fix:
Be more specific about user context:
❌ "I need a dashboard" ✅ "I need a dashboard for anxious first-time investors showing their portfolio status"
Include emotional and cognitive context:
❌ "I need a checkout form" ✅ "I need a checkout form that builds trust for skeptical users making their first purchase"
Describe user goals and psychological state:
❌ "I need a modal with buttons" ✅ "Users need reassurance before deleting their account permanently - they're anxious about data loss"
See Writing Effective Prompts for more tips.
Wireframes are wrong width (not 38 characters)
Symptom: Generated wireframes aren't the standard 38-character width.
Cause: Claude occasionally generates custom-sized wireframes.
Fix:
Tell Claude to fix it:
Please regenerate this at 38 characters wide (A2 format)
Claude knows the A2 standard and will correct it.
Claude generates code instead of wireframes
Symptom: Claude gives you React/HTML code instead of ASCII wireframes.
Cause: Prompt sounded like you wanted code implementation.
Fix:
Be clear you want wireframes:
Show me an ASCII wireframe for [your goal]
Or use the specialized workflows:
/asciikit-quickfor single screens/asciikit-flowfor multi-screen flows
Design doesn't match my psychological intent
Symptom: Claude generated a design but it doesn't feel right for your specific context.
Cause: The psychological context wasn't specific enough in the prompt.
Fix:
Option 1: Describe what's wrong emotionally
This feels too aggressive — the users are anxious and this
will increase their anxiety, not reduce it
Claude will recalibrate the psychology.
Option 2: Add more user context
Actually, these are elderly users with technology anxiety —
they need much simpler layout and visible phone support
Claude applies the appropriate user segment psychology.
Option 3: Ask for alternative approaches
Show me 2 other psychological approaches to this same problem
Performance Issues
Claude takes a long time to generate wireframes
Symptom: Long delay before Claude shows wireframes.
Cause: This is typically a Claude Code or network issue, not AsciiKit.
Possible issues:
- Slow internet connection (affects license validation)
- Claude Code itself is slow (unrelated to AsciiKit)
- Very complex prompt triggering extensive reasoning
Fix:
Check if it's AsciiKit or Claude:
Try a regular Claude request (no wireframes). If that's also slow, it's not AsciiKit.
For first-run slowness:
The first wireframe request loads patterns into memory. Subsequent requests are faster.
For persistent slowness:
- Restart Claude Code
- Check your internet connection
- Close other heavy applications
Claude timeout errors
Symptom: Claude times out while generating wireframes.
Cause: Extremely complex requests might take too long.
Fix:
Break it down:
Instead of: "Show me a complete e-commerce site with 20 screens"
Try: "Show me the checkout flow" (get 3-4 screens)
Then: "Show me the product browsing flow" (get more screens)
Use the right workflow:
- Quick Screen: Single screens (fast)
- Flow Mapping: 3-8 screens (medium)
- App Specification: Full app structure (slower, but comprehensive)
License API Issues
"License API is unavailable"
Symptom: Validation fails with API unavailable message.
Cause: License API server is down (rare) or unreachable.
Fix:
Step 1: Check status
Visit status.asciikit.com (if available) or check Twitter @asciikit for status updates.
Step 2: Test directly
curl https://asciikit-license-api.currently-studio.workers.dev/health
If this fails, the API is down.
Step 3: Wait and retry
Cloudflare Workers have 99.99% uptime. Issues are usually resolved within minutes.
Step 4: Contact support
If it persists >1 hour: hello@asciikit.com
Config File Issues
"Failed to parse config file"
Symptom: Claude Code shows error about config file.
Cause: JSON syntax error in ~/.claude.json.
Fix:
Step 1: Validate JSON
- Open your config file
- Copy entire contents
- Paste into jsonlint.com
- Fix any errors it shows
Common JSON mistakes:
// ❌ Missing comma
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp" // Missing comma here!
"env": {
"ASCIIKIT_LICENSE_KEY": "..."
}
}
}
}
// ✅ Correct
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp", // Comma added
"env": {
"ASCIIKIT_LICENSE_KEY": "..."
}
}
}
}
// ❌ Extra comma at end
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_LICENSE_KEY": "...", // Extra comma!
}
}
}
}
// ✅ Correct - no comma after last item
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_LICENSE_KEY": "..."
}
}
}
}
Advanced Configuration
Developer Mode (For Testing)
If you're developing with AsciiKit, testing integrations, or contributing to the project:
Enable dev mode:
export ASCIIKIT_DEV=true
asciikit-mcp
Or in your ~/.claude.json:
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_DEV": "true",
"ASCIIKIT_LICENSE_KEY": "your_key_here"
}
}
}
}
What dev mode does:
- Bypasses license validation
- Still tracks usage count (for testing)
- No API calls made
- Logs additional debug information
Not for production use.
Custom License API URL (Enterprise)
For enterprise users with internal proxies or custom license servers:
{
"mcpServers": {
"asciikit": {
"command": "asciikit-mcp",
"env": {
"ASCIIKIT_LICENSE_KEY": "your_key_here",
"ASCIIKIT_LICENSE_API_URL": "https://your-proxy.example.com"
}
}
}
}
This overrides the default license API endpoint. Contact hello@asciikit.com for enterprise licensing options.
Still stuck?
If none of these solutions work:
- Check the FAQ: /docs/faq
- Email support: hello@asciikit.com
- Report a bug: GitHub Issues
When contacting support, include:
- Your operating system (macOS/Windows/Linux)
- Claude Code version
- Node.js version (
node --version) - License key (first 20 characters only:
ak_trial_a1b2c3d4...) - Error message (exact text or screenshot)
- What you were trying to do
This helps us debug faster!