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.md
source 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
    update_config.py
    to read and update pythonclaw.json
  • API keys, passwords, and tokens are masked when displaying config
  • Only
    pythonclaw.json
    is modified — no other files