activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Xpersona Agent
Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Skill: Codex Account Switcher Owner: odrobnik Summary: Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Tags: latest:1.2.3 Version history: v1.2.3 | 2026-02-13T09:22:02.519Z | user Remove invented sensitivity metadata field v1.2.2 | 2026-02-13T09:19:11.196Z | use
clawhub skill install kn7c7fek4a503rbvj0bxbwx6dx7yw25e:codex-account-switcherOverall rank
#62
Adoption
2.3K downloads
Trust
Unknown
Freshness
Feb 28, 2026
Freshness
Last checked Feb 28, 2026
Best For
Codex Account Switcher is best for general automation workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, CLAWHUB, runtime-metrics, public facts pack
Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.
Overview
Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Skill: Codex Account Switcher Owner: odrobnik Summary: Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Tags: latest:1.2.3 Version history: v1.2.3 | 2026-02-13T09:22:02.519Z | user Remove invented sensitivity metadata field v1.2.2 | 2026-02-13T09:19:11.196Z | use Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 28, 2026
Vendor
Clawhub
Artifacts
0
Benchmarks
0
Last release
1.2.3
Install & run
clawhub skill install kn7c7fek4a503rbvj0bxbwx6dx7yw25e:codex-account-switcherSetup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.
Public facts
Vendor
Clawhub
Protocol compatibility
OpenClaw
Latest release
1.2.3
Adoption signal
2.3K downloads
Handshake status
UNKNOWN
Events
Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.
Captured outputs
Extracted files
3
Examples
6
Snippets
0
Languages
Unknown
bash
./codex-accounts.py list
bash
./codex-accounts.py list --verbose
bash
./codex-accounts.py add
bash
./codex-accounts.py use work
bash
./codex-accounts.py auto ./codex-accounts.py auto --json
text
🔄 Checking quota for 2 account(s)... → sylvia... weekly 27% used → oliver... weekly 100% used ✅ Switched to: sylvia Weekly quota: 27% used (73% available) All accounts: sylvia: 27% weekly ← oliver: 100% weekly
SKILL.md
---
name: codex-account-switcher
version: 1.2.3
homepage: https://github.com/odrobnik/codex-account-switcher-skill
description: >
Manage multiple OpenAI Codex accounts. Capture current login tokens and switch
between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and
~/.codex/accounts/*.json (sensitive authentication tokens).
metadata:
openclaw:
emoji: "🎭"
requires:
bins: ["python3"]
---
# Codex Account Switcher
Manage multiple OpenAI Codex identities (e.g. personal vs. work) by swapping the authentication token file.
## Usage
### 1. List Accounts
Show saved accounts (active one is marked with `ACTIVE` on the right). Default output is compact.
- `--verbose` includes refresh age + token TTL (debug)
- `--json` outputs the verbose info as JSON
```bash
./codex-accounts.py list
```
To include emails/diagnostics:
```bash
./codex-accounts.py list --verbose
```
### 2. Add an Account
Interactive wizard to capture login(s).
- **Always starts a fresh browser login** (`codex logout && codex login`) so you explicitly choose the identity to capture.
- After each login it saves a snapshot.
- In an interactive terminal it asks if you want to add another.
- When invoked non-interactively (e.g. via Moltbot), it runs **single-shot** (no "add another" prompt).
- When naming an account, **press Enter** to accept the default name (local-part of the detected email, e.g. `oliver` from `oliver@…`).
```bash
./codex-accounts.py add
```
### 3. Switch Account
Instantly swap the active login.
```bash
./codex-accounts.py use work
```
### 4. Auto-Switch to Best Quota
Check all accounts and switch to the one with most weekly quota available.
```bash
./codex-accounts.py auto
./codex-accounts.py auto --json
```
Output:
```
🔄 Checking quota for 2 account(s)...
→ sylvia... weekly 27% used
→ oliver... weekly 100% used
✅ Switched to: sylvia
Weekly quota: 27% used (73% available)
All accounts:
sylvia: 27% weekly ←
oliver: 100% weekly
```
## Setup
See [SETUP.md](SETUP.md) for prerequisites and setup instructions._meta.json
{
"ownerId": "kn7c7fek4a503rbvj0bxbwx6dx7yw25e",
"slug": "codex-account-switcher",
"version": "1.2.3",
"publishedAt": 1770974522519
}SETUP.md
# Codex Account Switcher - Setup Instructions
## Prerequisites
### Required Software
- **Python 3** — For running the account switcher script
- **Codex CLI** — OpenAI Codex command-line client must be installed and configured
- The skill manages `~/.codex/auth.json` tokens
- Requires `codex` binary in PATH for the `add` command (uses `codex logout && codex login`)
No additional Python packages required. The skill uses only Python standard library modules.
### File Permissions
⚠️ **Sensitive:** This skill reads and writes authentication tokens:
- `~/.codex/auth.json` — Active Codex session
- `~/.codex/accounts/*.json` — Saved account tokens
Ensure these files have appropriate permissions:
```bash
chmod 600 ~/.codex/auth.json
chmod 700 ~/.codex/accounts
chmod 600 ~/.codex/accounts/*.json
```
## Configuration
### Directory Structure
The skill automatically creates:
```
~/.codex/
├── auth.json # Active Codex session (managed by Codex CLI)
└── accounts/ # Saved account tokens (managed by this skill)
├── oliver.json
├── work.json
└── ...
```
### Installation (Optional)
For easier access, add the script to your PATH:
```bash
ln -s ~/Developer/Skills/codex-account-switcher/codex-accounts.py ~/bin/codex-accounts
```
Then you can run:
```bash
codex-accounts list
codex-accounts use work
```
## How It Works
- **Account Identification**: Decodes the JWT `id_token` to extract the email address
- **Switching**: Overwrites `~/.codex/auth.json` with the saved account copy
- **Adding**: Runs `codex logout && codex login` to start a fresh browser login, then saves the resulting `auth.json`
- **Auto-Switch**: Queries quota for all saved accounts and switches to the one with the most available weekly quotaEditorial read
Docs source
CLAWHUB
Editorial quality
ready
Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Skill: Codex Account Switcher Owner: odrobnik Summary: Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens). Tags: latest:1.2.3 Version history: v1.2.3 | 2026-02-13T09:22:02.519Z | user Remove invented sensitivity metadata field v1.2.2 | 2026-02-13T09:19:11.196Z | use
Skill: Codex Account Switcher
Owner: odrobnik
Summary: Manage multiple OpenAI Codex accounts. Capture current login tokens and switch between them instantly. ⚠️ Reads and writes ~/.codex/auth.json and ~/.codex/accounts/*.json (sensitive authentication tokens).
Tags: latest:1.2.3
Version history:
v1.2.3 | 2026-02-13T09:22:02.519Z | user
Remove invented sensitivity metadata field
v1.2.2 | 2026-02-13T09:19:11.196Z | user
Declare missing dependencies, env vars, and sensitivity in metadata
v1.2.1 | 2026-02-13T06:29:02.225Z | user
Rename .clawdhubignore to .clawhubignore
v1.2.0 | 2026-02-13T06:09:44.135Z | user
Refactor: move setup/prerequisites to SETUP.md, keep SKILL.md lean
v1.1.2 | 2026-02-11T15:41:04.662Z | user
Clarify sensitive ~/.codex token files + add README (OpenClaw scan alignment).
v1.1.1 | 2026-02-11T15:38:40.716Z | auto
v1.1.0 | 2026-01-20T13:29:13.673Z | user
Add auto command: checks all accounts and switches to best quota
Archive index:
Archive v1.2.3: 4 files, 11236 bytes
Files: codex-accounts.py (30802b), SETUP.md (1815b), SKILL.md (2088b), _meta.json (141b)
File v1.2.3:SKILL.md
Manage multiple OpenAI Codex identities (e.g. personal vs. work) by swapping the authentication token file.
Show saved accounts (active one is marked with ACTIVE on the right). Default output is compact.
--verbose includes refresh age + token TTL (debug)--json outputs the verbose info as JSON./codex-accounts.py list
To include emails/diagnostics:
./codex-accounts.py list --verbose
Interactive wizard to capture login(s).
codex logout && codex login) so you explicitly choose the identity to capture.oliver from oliver@…)../codex-accounts.py add
Instantly swap the active login.
./codex-accounts.py use work
Check all accounts and switch to the one with most weekly quota available.
./codex-accounts.py auto
./codex-accounts.py auto --json
Output:
🔄 Checking quota for 2 account(s)...
→ sylvia... weekly 27% used
→ oliver... weekly 100% used
✅ Switched to: sylvia
Weekly quota: 27% used (73% available)
All accounts:
sylvia: 27% weekly ←
oliver: 100% weekly
See SETUP.md for prerequisites and setup instructions.
File v1.2.3:_meta.json
{ "ownerId": "kn7c7fek4a503rbvj0bxbwx6dx7yw25e", "slug": "codex-account-switcher", "version": "1.2.3", "publishedAt": 1770974522519 }
File v1.2.3:SETUP.md
~/.codex/auth.json tokenscodex binary in PATH for the add command (uses codex logout && codex login)No additional Python packages required. The skill uses only Python standard library modules.
⚠️ Sensitive: This skill reads and writes authentication tokens:
~/.codex/auth.json — Active Codex session~/.codex/accounts/*.json — Saved account tokensEnsure these files have appropriate permissions:
chmod 600 ~/.codex/auth.json
chmod 700 ~/.codex/accounts
chmod 600 ~/.codex/accounts/*.json
The skill automatically creates:
~/.codex/
├── auth.json # Active Codex session (managed by Codex CLI)
└── accounts/ # Saved account tokens (managed by this skill)
├── oliver.json
├── work.json
└── ...
For easier access, add the script to your PATH:
ln -s ~/Developer/Skills/codex-account-switcher/codex-accounts.py ~/bin/codex-accounts
Then you can run:
codex-accounts list
codex-accounts use work
id_token to extract the email address~/.codex/auth.json with the saved account copycodex logout && codex login to start a fresh browser login, then saves the resulting auth.jsonArchive v1.2.2: 4 files, 11265 bytes
Files: codex-accounts.py (30802b), SETUP.md (1815b), SKILL.md (2163b), _meta.json (141b)
File v1.2.2:SKILL.md
Manage multiple OpenAI Codex identities (e.g. personal vs. work) by swapping the authentication token file.
Show saved accounts (active one is marked with ACTIVE on the right). Default output is compact.
--verbose includes refresh age + token TTL (debug)--json outputs the verbose info as JSON./codex-accounts.py list
To include emails/diagnostics:
./codex-accounts.py list --verbose
Interactive wizard to capture login(s).
codex logout && codex login) so you explicitly choose the identity to capture.oliver from oliver@…)../codex-accounts.py add
Instantly swap the active login.
./codex-accounts.py use work
Check all accounts and switch to the one with most weekly quota available.
./codex-accounts.py auto
./codex-accounts.py auto --json
Output:
🔄 Checking quota for 2 account(s)...
→ sylvia... weekly 27% used
→ oliver... weekly 100% used
✅ Switched to: sylvia
Weekly quota: 27% used (73% available)
All accounts:
sylvia: 27% weekly ←
oliver: 100% weekly
See SETUP.md for prerequisites and setup instructions.
File v1.2.2:_meta.json
{ "ownerId": "kn7c7fek4a503rbvj0bxbwx6dx7yw25e", "slug": "codex-account-switcher", "version": "1.2.2", "publishedAt": 1770974351196 }
File v1.2.2:SETUP.md
~/.codex/auth.json tokenscodex binary in PATH for the add command (uses codex logout && codex login)No additional Python packages required. The skill uses only Python standard library modules.
⚠️ Sensitive: This skill reads and writes authentication tokens:
~/.codex/auth.json — Active Codex session~/.codex/accounts/*.json — Saved account tokensEnsure these files have appropriate permissions:
chmod 600 ~/.codex/auth.json
chmod 700 ~/.codex/accounts
chmod 600 ~/.codex/accounts/*.json
The skill automatically creates:
~/.codex/
├── auth.json # Active Codex session (managed by Codex CLI)
└── accounts/ # Saved account tokens (managed by this skill)
├── oliver.json
├── work.json
└── ...
For easier access, add the script to your PATH:
ln -s ~/Developer/Skills/codex-account-switcher/codex-accounts.py ~/bin/codex-accounts
Then you can run:
codex-accounts list
codex-accounts use work
id_token to extract the email address~/.codex/auth.json with the saved account copycodex logout && codex login to start a fresh browser login, then saves the resulting auth.jsonMachine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.
Machine interfaces
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/contract"
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/trust"
Operational fit
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "CLAWHUB",
"generatedAt": "2026-10-09T03:25:00.044Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceUrl": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.3K downloads",
"href": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceUrl": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.2.3",
"href": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceUrl": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-13T09:22:02.519Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-odrobnik-codex-account-switcher/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "release",
"title": "Release 1.2.3",
"description": "Remove invented sensitivity metadata field",
"href": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceUrl": "https://clawhub.ai/odrobnik/codex-account-switcher",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-13T09:22:02.519Z",
"isPublic": true
}
]Sponsored
Ads related to Codex Account Switcher and adjacent AI workflows.