Local bridge connecting ChatGPT Web to local Claude/Codex CLIs.
ChatGPT writes the plan to ~/.chatgpt_plans. Claude reads it and codes.
Flow:
ChatGPT → tunnel → Bifrost → ~/.chatgpt_plans → Claude reads & codes
save_plan(name, content): Writes.mdplan. Enforces Overview, Stack, Structure, Steps.get_plan(name): Reads.mdplan.list_dir(path): Lists files in a local directory (useful for ChatGPT to explore codebase).read_file(path): Reads local file contents (useful for ChatGPT to audit code).
npm install
npm run buildCopy the .env.example file to .env:
cp .env.example .envDefine your environment variables inside .env:
OPENAI_API_KEY: Your OpenAI API key fortunnel-client. WARNING: Never commit the.envfile containing secrets to version control.BIFROST_ALLOWED_DIRS: Allowed workspace directories forlist_dirandread_file(separated by;on Windows,:on Unix, or,on any platform). If left empty, all filesystem reads will be blocked.
Requires OpenAI tunnel-client:
# Environment variables will be loaded from your .env file
tunnel-client run --control-plane.tunnel-id <YOUR_TUNNEL_ID> --mcp.command "command=npx,args=tsx,args=index.ts"Add to claude_desktop_config.json:
{
"mcpServers": {
"bifrost": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/bifrost/index.ts"]
}
}
}