Simplified Claude Code CLI wrapper that automatically handles environment variables from ~/.claude/config.json. Use when the user wants to run Claude Code commands without manually exporting ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL, and API_TIMEOUT_MS. Eliminates the "Not logged in" error when calling Claude Code through exec tools. Perfect for automating Claude Code tasks in OpenClaw sessions.
Resources
1Install
npx skillscat add xdrshjr/jr-openclaw-skills/claude-code-wrapper Install via the SkillsCat registry.
This skill provides a wrapper script that automatically loads environment variables from ~/.claude/config.json and exports them (ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL, API_TIMEOUT_MS) before running Claude Code commands. It solves the "Not logged in" error that occurs when calling Claude Code through exec tools in OpenClaw sessions, allowing seamless execution without manual credential setup. Use it when running Claude Code commands in automated or scripted workflows where the config file exists but environment variables aren't pre-loaded.
Claude Code Wrapper
A convenience wrapper that eliminates the friction of calling Claude Code from OpenClaw sessions.
Problem It Solves
When calling Claude Code through exec tools, environment variables from ~/.claude/config.json are not automatically loaded, resulting in "Not logged in" errors. This wrapper:
- Auto-loads credentials from
~/.claude/config.json - Exports required env vars automatically
- Provides seamless execution without manual setup
Usage
Basic Usage
Use the wrapper script directly:
bash pty:true command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Your prompt here'"With Working Directory
bash pty:true workdir:~/myproject command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Analyze this codebase'"Background Mode
bash pty:true workdir:~/myproject background:true command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Run tests'"Required Parameters
pty:true— Claude Code is an interactive TUI application and requires pseudo-terminal mode- Timeout — Recommend
timeout:120or longer for complex tasks
Environment Variables Auto-Loaded
The wrapper reads and exports these from ~/.claude/config.json:
ANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URLAPI_TIMEOUT_MS
Example Workflows
One-shot Code Generation
bash pty:true command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Write a Python function to calculate Fibonacci numbers'"Project Analysis
bash pty:true workdir:~/myproject timeout:180 command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Review the architecture of this project and suggest improvements'"Background Task with Monitoring
# Start background session
bash pty:true workdir:~/myproject background:true command:"~/.openclaw/skills/claude-code-wrapper/scripts/claude_code.sh 'Refactor the auth module'"
# Monitor progress
process action:log sessionId:XXX
# Kill when done
process action:kill sessionId:XXXPrerequisites
- Claude Code installed (
claudecommand available) - Claude Code configured (
~/.claude/config.jsonexists with valid credentials) - User has previously logged in to Claude Code manually
Error Handling
- Config not found: Script exits with error message if
~/.claude/config.jsonis missing - Claude not installed: Script exits with error message if
claudecommand not found - Invalid token: Claude Code itself will report authentication errors
Notes
- This wrapper does NOT handle the "trust this directory" interactive prompt. For new directories, Claude Code may still ask for confirmation.
- For fully automated workflows, consider running Claude Code once manually in target directories to establish trust.