PythonClaw change_setting
Modify pythonclaw.json configuration at runtime. Use when: user wants to set API keys, tokens, change LLM provider, adjust web port, or update any config value. NOT for: editing code, changing soul/persona files, or modifying skill files.
install
source · Clone the upstream repo
git clone https://github.com/ericwang915/PythonClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ericwang915/PythonClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/pythonclaw/templates/skills/system/change_setting" ~/.claude/skills/ericwang915-pythonclaw-change-setting && rm -rf "$T"
manifest:
pythonclaw/templates/skills/system/change_setting/SKILL.mdsource content
Change Setting Skill
Modify
pythonclaw.json configuration at runtime.
When to Use
✅ USE this skill when:
- "Set my API key to ..."
- "Change LLM provider to Claude"
- "Update my Tavily/Telegram/GitHub token"
- "Change the web port to 8080"
- "Configure email credentials"
- User wants to change any runtime setting without editing files manually
When NOT to Use
❌ DON'T use this skill when:
- Changing agent personality or identity → use change_persona or change_soul
- Editing Python code or skill files → use file edit tools
- Adding/removing skills → use skill management or manual file edits
Usage/Commands
Show current config:
python {skill_path}/update_config.py --show
Update a value (dot-notation for key path):
python {skill_path}/update_config.py --set "llm.deepseek.apiKey" "sk-xxx"
Examples:
# Change LLM provider python {skill_path}/update_config.py --set "llm.provider" "claude" # Set Tavily API key python {skill_path}/update_config.py --set "tavily.apiKey" "tvly-xxx" # Set Telegram token python {skill_path}/update_config.py --set "channels.telegram.token" "123:ABC" # Set GitHub token python {skill_path}/update_config.py --set "skills.github.token" "ghp_xxx" # Change web port python {skill_path}/update_config.py --set "web.port" "8080" # Set email credentials python {skill_path}/update_config.py --set "skills.email.senderEmail" "me@gmail.com" python {skill_path}/update_config.py --set "skills.email.senderPassword" "app-password"
After updating, tell the user the change was saved and whether a restart is needed to take effect.
Notes
- Uses bundled
to read and update pythonclaw.jsonupdate_config.py - API keys, passwords, and tokens are masked when displaying config
- Only
is modified — no other filespythonclaw.json