{"_id":"@bloodshop/n8n-nodes-codex-pro","_rev":"8-c8366a37e4491d1f1122a90039cf5453","name":"@bloodshop/n8n-nodes-codex-pro","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.0","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.0","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"6473ccdf94133b320b27825b889e549ce87ec51f","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.0.tgz","fileCount":11,"integrity":"sha512-cGELE5ZIeBAy8yaZHVc/AckGcFPIxD1dpPrXSDT9X3ziKG3zYy0ilNlEMyEddyhY7vHpo690rAW7hWIb5Eja7w==","signatures":[{"sig":"MEUCIQCU4GTX46NC8LPN3QXp+xuGlv5O+Dmx/dD3eF9pK4INqgIgUXGFEYavJGcz9zGMGGoqCakN6YYtpZA6wyvuAsts8vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57474},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.0_1774717583150_0.23373714139622148","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.1","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.1","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"bd796c30777592ce5624d22dbe2261a0bb2e7371","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.1.tgz","fileCount":11,"integrity":"sha512-rFhL4873piUAnOaaOQUVwh+XO7j7Wu9klG7pLCJDvos+8VpUJ1SGTFhg0MU0KvRL0dmtyEbuEzzgBjqxF7Co2Q==","signatures":[{"sig":"MEUCIQDYUfKV13udATvQWKc1uRpuBjt2HJ8JAVOFAcsLaWPrwwIgWqcnMRgXCfsSdCOJlFMnY4Z1ALhCv7RC5QNypeo8sVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57819},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.1_1774774195261_0.05266881218145558","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.2","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.2","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"7d751aea2443cfe856f5c3436baf9fe1d9c91b7c","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.2.tgz","fileCount":11,"integrity":"sha512-jTw+dOLI0MLaR0cnbfOVESxDkWg9xV/tjIQf62583haMYEYWrV0SXkn233+vMhibszS6h1PQFgdPv25huCAPcg==","signatures":[{"sig":"MEUCIFYgmjPfDMLtW+R9XeDhFLp/FPgWOqZMT9FRN43I2PNEAiEAwv5ytyNEK4yR1Y3ePs7UqKvL2uqSD8r+jX4mhjMuaKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82516},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.2_1774780117692_0.590061995413957","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.3","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.3","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"043936ae81f7ccfad908f68e79319bf62d66f6e2","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.3.tgz","fileCount":11,"integrity":"sha512-X+zK2IIo2n0WjtGx5nhm9GVavSshc4kLLNKyK3tCir1mdBwb8dE+K8IgSJFvK8tUCJHBOFg5UiARP93QvRsNbA==","signatures":[{"sig":"MEQCIB8mX12bVZSZp2Z+0cjrMCqPal7gu777oFwlYglkxErUAiAP4LBkj39l+5KhDJ5SvIpQyk3Y7ybf6nj/EHvkgNft8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84734},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.3_1774781969581_0.15322861290534484","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.4","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.4","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js","dist/nodes/CodexProTool/CodexProTool.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"e9dbe3145cf5aed7364e0cb9e0622915d4ca2189","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.4.tgz","fileCount":18,"integrity":"sha512-KM7ioaLccc58GBNRdXGOWaWc87IeAFF3K/XLe+J5SFHLRQEZlvEfq13ft8Dnsoqsu8yhczsukmaN8EjMu2Ky1g==","signatures":[{"sig":"MEUCIQDCb2GEOHF6+crJ6lWM/8sFs23fKlX4CFyG60nW7RMlGQIgCfZJ7r89uSqqPTwH0W19VkIdn+FtRN42Yh62DBLHPE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101349},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp nodes/CodexProTool/codex-pro-tool.svg dist/nodes/CodexProTool/codex-pro-tool.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.4_1774783947397_0.10338183250548671","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.5","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.5","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js","dist/nodes/CodexProTool/CodexProTool.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"282c8a0a80cd8f577219672f8d29946f78485c69","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.5.tgz","fileCount":18,"integrity":"sha512-qqyC7Gnr+1WqUPBrQMZxGIyQPoIU7it3ThcrsR5KmDirkVxZfTs5YGgHpb/B0swY5lVHtajgE4Xc4x25Bgk4dQ==","signatures":[{"sig":"MEUCIEvfHzP2VSLz8sWeAp9pMVVtDM8OGQdCTzMBkDRS6GwOAiEAzBiHXXg1ooZ3RR/xSF28h5w5DjJ7vuY8NYMHi1qQ5kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101631},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp nodes/CodexProTool/codex-pro-tool.svg dist/nodes/CodexProTool/codex-pro-tool.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.5_1774784951347_0.05893571701114175","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.6","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"author":{"name":"bloodshop"},"license":"MIT","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.6","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"n8n":{"nodes":["dist/nodes/CodexPro/CodexPro.node.js","dist/nodes/CodexProTool/CodexProTool.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"2830812d1124414e0fb9c057aa60ae1421f130fe","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.6.tgz","fileCount":21,"integrity":"sha512-bWntHKF9RttwafZjIht/5YAs+/bkW9RDoZITw21Fr1HbRqvZA2nP5mENmbDQMaj7HComxt7/juAy2+tF9rCZ3g==","signatures":[{"sig":"MEYCIQDmOUreTjMA38p8/oRolNB87NNXitA72/aXkAMz+cClWgIhAPxZRiwQVkVrgUVoQnDYX/XlmgDb+zrYU7y3QDApUKW4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368115},"main":"dist/nodes/CodexPro/CodexPro.node.js","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","engines":{"node":">=20"},"gitHead":"2af42b3cc72fd6d9e7cb05accc9a28c10eadb7f3","scripts":{"dev":"tsc --watch","build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp nodes/CodexProTool/codex-pro-tool.svg dist/nodes/CodexProTool/codex-pro-tool.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","pack:check":"npm pack --dry-run","prepublishOnly":"npm run build"},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"_npmVersion":"11.11.1","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@langchain/core":">=0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.15.30","n8n-workflow":"^2.13.1"},"peerDependencies":{"n8n-workflow":"*","@langchain/core":">=0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-codex-pro_1.0.6_1774785280355_0.9359739911784262","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bloodshop/n8n-nodes-codex-pro","version":"1.0.7","description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"license":"MIT","author":{"name":"bloodshop"},"publishConfig":{"access":"public"},"engines":{"node":">=20"},"main":"dist/nodes/CodexPro/CodexPro.node.js","n8n":{"n8nNodesApiVersion":1,"nodes":["dist/nodes/CodexPro/CodexPro.node.js","dist/nodes/CodexProTool/CodexProTool.node.js"],"credentials":["dist/credentials/CodexProApi.credentials.js"]},"scripts":{"build":"tsc && cp nodes/CodexPro/codex-pro.svg dist/nodes/CodexPro/codex-pro.svg && cp nodes/CodexProTool/codex-pro-tool.svg dist/nodes/CodexProTool/codex-pro-tool.svg && cp credentials/codex-cli-auth.svg dist/credentials/codex-cli-auth.svg","dev":"tsc --watch","prepublishOnly":"npm run build","pack:check":"npm pack --dry-run"},"peerDependencies":{"n8n-workflow":"*"},"dependencies":{"@langchain/core":"^1.1.40"},"devDependencies":{"@types/node":"^22.19.17","n8n-workflow":"^2.17.0","typescript":"^5.7.0"},"gitHead":"dc6189c6cfd1462f4b4b8d370f88398072a4be1a","types":"./dist/nodes/CodexPro/CodexPro.node.d.ts","_id":"@bloodshop/n8n-nodes-codex-pro@1.0.7","_nodeVersion":"22.22.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-WMjZWdcQFX8fcPBUWAJKA+fAZzs5KXbwuOGwdlldnRkcXpr+zLP1gnPUi6dAR55F2xZ9sCb9QmTSan6UKqMyBA==","shasum":"bd78fe5d3da18b331a969b35a8078cc482dee8c5","tarball":"https://registry.npmjs.org/@bloodshop/n8n-nodes-codex-pro/-/n8n-nodes-codex-pro-1.0.7.tgz","fileCount":21,"unpackedSize":368069,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE+mWvblw4PxQuwHklAJLdRjbbBoKVb0DtTuJdEAvL1UAiEAgnEAVsRpY9FguyCcM0IUUi25YL5VRMIS2imn9hqEvrk="}]},"_npmUser":{"name":"bloodshop","email":"koliakovcr7@gmail.com"},"directories":{},"maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-codex-pro_1.0.7_1776666230916_0.536177818191073"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-28T17:06:23.076Z","modified":"2026-04-20T06:23:51.277Z","1.0.0":"2026-03-28T17:06:23.290Z","1.0.1":"2026-03-29T08:49:55.422Z","1.0.2":"2026-03-29T10:28:37.846Z","1.0.3":"2026-03-29T10:59:29.719Z","1.0.4":"2026-03-29T11:32:27.549Z","1.0.5":"2026-03-29T11:49:11.554Z","1.0.6":"2026-03-29T11:54:40.572Z","1.0.7":"2026-04-20T06:23:51.149Z"},"author":{"name":"bloodshop"},"license":"MIT","keywords":["n8n-community-node-package","n8n","openai","codex","gpt-5","ai","llm"],"description":"n8n node for local Codex CLI authentication via `codex login`, suitable for Codex-backed AI Agent workflows.","maintainers":[{"name":"bloodshop","email":"koliakovcr7@gmail.com"}],"readme":"# n8n-nodes-codex-pro\n\nAn n8n community node package that exposes the local Codex CLI as both:\n\n- **Codex Pro LM**: a Language Model node for n8n AI Agent orchestration\n- **Codex Pro Tool**: an explicit AI Tool node for separate Codex runs when you want outside or higher-risk behavior isolated from the LM node\n\n## Install with n8n Community Nodes\n\nThis package is designed to be installed from inside n8n through **Settings -> Community Nodes**.\n\nImportant: installing the community node only installs the n8n package itself. It does **not** install the Codex CLI, run `codex login`, or create the required Docker/container setup for you.\n\nYou still need to provide:\n\n- a working `@openai/codex` installation in the same environment that runs n8n\n- a completed `codex login`\n- access to the correct `CODEX_HOME` containing `auth.json` and optionally `config.toml`\n\n## Recommended setup\n\n### What n8n installs vs what you must configure\n\nWhen you install `@bloodshop/n8n-nodes-codex-pro` from Community Nodes:\n\n- n8n downloads and installs the node package\n- n8n makes the **Codex Pro LM** and **Codex Pro Tool** nodes available in the editor\n\nBut you must still configure the runtime yourself:\n\n- install Codex CLI in the n8n host or Docker image\n- make sure n8n can execute the `codex` binary\n- make sure n8n can read the Codex auth/config directory\n\nIf those pieces are missing, the node will be installed in n8n but it will not be able to run prompts.\n\n### Docker setup\n\nIf n8n runs in Docker, this is the setup that usually works best.\n\nThe container needs:\n\n- Codex CLI installed in the image\n- your Codex home mounted into the container\n- the node package installed from n8n Community Nodes\n\nRecommended `Dockerfile`:\n\n```dockerfile\nFROM docker.n8n.io/n8nio/n8n:latest\n\nUSER root\n\nRUN set -eux; \\\n    if command -v apt-get >/dev/null 2>&1; then \\\n      apt-get update; \\\n      apt-get install -y --no-install-recommends ca-certificates curl bubblewrap; \\\n      rm -rf /var/lib/apt/lists/*; \\\n    elif command -v apk >/dev/null 2>&1; then \\\n      apk add --no-cache ca-certificates curl bubblewrap; \\\n    fi\n\nCOPY pki/*.crt /usr/local/share/ca-certificates/custom/\nRUN update-ca-certificates\n\nRUN npm install -g @openai/codex\n\nRUN CODEX_BIN=\"$(find /opt/nodejs -path '*/bin/codex' | head -n 1)\" && \\\n    test -n \"$CODEX_BIN\" && \\\n    ln -sf \"$CODEX_BIN\" /usr/local/bin/codex\n\nRUN mkdir -p /home/node/.codex \\\n    && chown -R node:node /home/node\n\nUSER node\nWORKDIR /home/node\n```\n\nRecommended `docker-compose.yml`:\n\n```yaml\nservices:\n  n8n:\n    build: .\n    ports:\n      - \"5678:5678\"\n    volumes:\n      - ./n8n_data:/home/node/.n8n\n      - /home/your-user/.codex:/home/node/.codex:ro\n```\n\nThen:\n\n1. Build and start the container.\n2. Open n8n.\n3. Go to **Settings -> Community Nodes**.\n4. Install `@bloodshop/n8n-nodes-codex-pro`.\n5. Restart the n8n container if n8n asks for it.\n\n### Host setup\n\nIf n8n runs directly on the host instead of Docker:\n\n1. Install Codex CLI on that machine:\n\n```bash\nnpm install -g @openai/codex\n```\n\n2. Complete login as the same user that runs n8n, or otherwise make the correct `CODEX_HOME` available:\n\n```bash\ncodex login\n```\n\n3. In n8n, go to **Settings -> Community Nodes**.\n4. Install `@bloodshop/n8n-nodes-codex-pro`.\n\n## Quick start after Community Nodes install\n\n1. Make sure `codex --version` works inside the n8n runtime.\n2. Make sure `codex login` has already been completed for that same runtime or `CODEX_HOME`.\n3. In n8n, create the credential **Codex CLI Auth**.\n4. Leave **Codex Binary Path** empty first. The node will auto-detect common Codex install paths.\n5. Set **CODEX_HOME** if n8n runs in Docker or under a different user.\n6. Add **Codex Pro LM** to your AI Agent.\n7. Pick model `gpt-5-codex` or another supported Codex/GPT-5 model.\n\nRecommended architecture:\n\n- use **Codex Pro LM** as the AI Agent language model\n- keep its defaults conservative for stable orchestration\n- add **Codex Pro Tool** when you want a separate Codex request for research, external access, or more explicit runtime behavior\n\nExample workflow:\n\n![Codex CLI node example workflow](https://cdn.jsdelivr.net/npm/@bloodshop/n8n-nodes-codex-pro@latest/codex-cli-node-example-workflow.png)\n\n## Credentials\n\nCreate the n8n credential:\n\n- **Codex CLI Auth**\n\nFields:\n\n- **Codex Binary Path**: optional. Leave empty to auto-detect standard Codex install locations. This covers the recommended host and Docker setups, but custom installs may still need an explicit path.\n- **CODEX_HOME**: optional override if n8n runs under a different home directory. In Docker, set `/home/node/.codex`.\n- **Config Profile**: optional Codex profile name passed to `codex exec -p`\n\nExample credential setup:\n\n![Codex CLI credentials setup](https://cdn.jsdelivr.net/npm/@bloodshop/n8n-nodes-codex-pro@latest/codex-cli-credentials-setup.png)\n\n## Nodes\n\n### Codex Pro LM\n\nUse this node as the AI Agent language model. It is intended to stay stable and conservative by default:\n\n- **Approval Policy** defaults to `never`\n- **Sandbox Mode** defaults to `read-only`\n- **Allow Codex MCP** defaults to `off`\n- **Web Search** defaults to `disabled`\n\nThis is the safer default path for day-to-day AI Agent orchestration inside n8n.\n\n### Codex Pro Tool\n\nUse this node when you want Codex to run as an explicit tool call instead of the main language model.\n\nThis is useful when:\n\n- you want external or “outside” Codex behavior isolated behind a tool boundary\n- you want the main LM node to stay conservative\n- you want to enable web search or MCP only for specific tool calls\n- you want an agent to decide when a separate Codex run is worth doing\n\nThe tool node takes:\n\n- **Tool Name**\n- **Description**\n- **Model**\n- **System Instructions**\n- **Include Metadata**\n- the same Codex runtime options collection as the LM node\n\nTool input schema:\n\n- `task` (required)\n- `context` (optional)\n\nWhen **Include Metadata** is enabled, the tool returns JSON containing the final response plus `usageMetadata`, `responseMetadata`, and `additionalKwargs`.\n\n## Node options\n\nOpen **Options -> Add Option** in the node editor to reveal these controls.\n\n- **Reasoning Effort**: passed as `-c model_reasoning_effort=\"low|medium|high\"`\n- **Approval Policy**: passed as `-c approval_policy=\"untrusted|on-request|never\"`\n- **Sandbox Mode**: passed as `codex exec -s ...`\n- **Allow Codex MCP**: allows Codex to use MCP servers defined in `CODEX_HOME/config.toml`\n- **Web Search**: passed as `-c web_search=\"disabled|cached|live\"`\n- **Personality**: passed as `-c personality=\"friendly|pragmatic|none\"`\n- **Service Tier**: passed as `-c service_tier=\"fast|flex\"`\n- **Model Provider**: passed as `-c model_provider=\"<provider-id>\"`\n- **Model Context Window**: passed as `-c model_context_window=<value>`\n- **Tool Output Token Limit**: passed as `-c tool_output_token_limit=<value>`\n- **Hide Agent Reasoning**: passed as `-c hide_agent_reasoning=<true|false>`\n- **Show Raw Agent Reasoning**: passed as `-c show_raw_agent_reasoning=<true|false>`\n- **Codex Config Overrides**: one `key=value` per line, each passed as `-c key=value`\n- **Timeout / Max Retries**\n\nDefault values:\n\n- **Reasoning Effort**: `high`\n- **Approval Policy**: `never`\n- **Sandbox Mode**: `read-only`\n- **Allow Codex MCP**: `off`\n- **Web Search**: `disabled`\n- **Personality**: `pragmatic`\n- **Service Tier**: `flex`\n- **Timeout**: `300000`\n- **Max Retries**: `1`\n- **Codex Binary Path**: empty, which enables auto-detection\n\n## How it works\n\nBoth nodes shell out to:\n\n```bash\ncodex exec\n```\n\nnon-interactively in a temporary directory and convert the result back into n8n-friendly outputs.\n\nFor **Codex Pro LM**, the node asks Codex to return structured JSON that either:\n\n- contains a final assistant response\n- or contains one or more tool calls for n8n to execute\n\nFor **Codex Pro Tool**, the node asks Codex to return a final response in the same structured envelope, then unwraps it and returns either plain text or a metadata-rich JSON payload.\n\nBoth nodes run Codex with JSON event output enabled, extract metadata from the event stream, and attach it to the n8n-facing output.\n\n## Output metadata\n\nWhen the LM node returns a response, downstream n8n nodes can use more than just the final text.\n\nThe output payload now includes:\n\n- `text`: the final assistant response\n- `toolCalls`: any tool calls requested by the model\n- `usageMetadata`: token usage extracted from the Codex event stream\n- `responseMetadata`: run metadata such as model, sandbox mode, approval policy, web search mode, profile, and discovered session identifiers\n- `additionalKwargs`: debug-oriented extra fields including the raw structured response and parsed Codex JSON events\n\nTypical `usageMetadata` fields:\n\n- `input_tokens`\n- `cached_input_tokens`\n- `output_tokens`\n- `reasoning_output_tokens`\n- `total_tokens`\n\nTypical `responseMetadata` fields:\n\n- `source`\n- `model`\n- `event_count`\n- `event_types`\n- `sandbox_mode`\n- `approval_policy`\n- `web_search`\n- `service_tier`\n- `model_provider`\n- `profile`\n- `response_id`\n- `conversation_id`\n- `session_id`\n- `thread_id`\n- `status`\n\nExample shape:\n\n```json\n[\n  {\n    \"text\": \"Here’s a strong security interview mock question...\",\n    \"toolCalls\": [],\n    \"usageMetadata\": {\n      \"input_tokens\": 1234,\n      \"output_tokens\": 321,\n      \"reasoning_output_tokens\": 88,\n      \"total_tokens\": 1643\n    },\n    \"responseMetadata\": {\n      \"source\": \"codex-cli\",\n      \"model\": \"gpt-5-codex\",\n      \"sandbox_mode\": \"read-only\",\n      \"approval_policy\": \"never\",\n      \"web_search\": \"disabled\",\n      \"event_count\": 14,\n      \"event_types\": [\n        \"session_configured\",\n        \"task_complete\"\n      ]\n    },\n    \"additionalKwargs\": {\n      \"codex_raw_output\": \"{\\\"mode\\\":\\\"respond\\\",\\\"response\\\":\\\"...\\\",\\\"tool_calls\\\":[]}\",\n      \"codex_stdout_jsonl\": []\n    }\n  }\n]\n```\n\nThis makes it easier to store full run context in Simple Memory, inspect usage downstream, or route workflows based on Codex execution metadata instead of only the final text.\n\nExample output:\n\n![Codex CLI node output example](https://cdn.jsdelivr.net/npm/@bloodshop/n8n-nodes-codex-pro@latest/codex-cli-node-output-example.png)\n\n## Codex requirements\n\nThe machine or container running n8n must have:\n\n- `@openai/codex` installed\n- a completed `codex login`\n- access to the same `CODEX_HOME` that contains `auth.json`\n\nThis package is designed for the setup where Codex already works locally with:\n\n```bash\ncodex login\n```\n\nand the CLI stores credentials in:\n\n```bash\n~/.codex/auth.json\n```\n\nThe node does not send `auth.json` to the OpenAI API directly. It shells out to the local `codex` CLI, and the CLI handles authentication itself.\n\n## MCP support\n\nIf your Codex `config.toml` defines MCP servers, either node can optionally allow Codex to use them by enabling:\n\n- **Allow Codex MCP**\n\nThe node simply inherits the MCP configuration already managed by Codex.\n\n## Supported Codex config surface\n\nThe node now exposes the most useful per-run Codex settings directly in the UI and still leaves a raw escape hatch through **Codex Config Overrides** for anything else supported by `codex exec -c`.\n\nThe first-class settings were aligned with the current Codex configuration docs:\n\n- Config basics: `https://developers.openai.com/codex/config-basic`\n- Advanced config: `https://developers.openai.com/codex/config-advanced`\n- Config reference: `https://developers.openai.com/codex/config-reference`\n- Sample config: `https://developers.openai.com/codex/config-sample`\n\n## Troubleshooting\n\n### `codex: not found`\n\nThis means the n8n package is installed but the Docker image or host runtime does not have Codex CLI available on `PATH`.\n\nChecks:\n\n```bash\ndocker exec -it n8n sh -lc 'which codex && codex --version'\n```\n\nFix:\n\n- install `@openai/codex` in the same environment that runs n8n\n- if needed, add a symlink such as `/usr/local/bin/codex`\n- leave **Codex Binary Path** empty first, then only set it manually if auto-detection still fails\n\n### `invalid peer certificate: UnknownIssuer`\n\nThis usually means the container does not trust the CA that signed the HTTPS connection, often because of a corporate proxy, custom internal CA, or incomplete CA bundle.\n\nChecks:\n\n```bash\ndocker exec -it n8n sh -lc 'node -e \"fetch(\\\"https://api.openai.com\\\").then(r => console.log(\\\"status\\\", r.status)).catch(err => { console.error(err); process.exit(1); })\"'\n```\n\nFix:\n\n- install `ca-certificates` in the n8n image\n- copy your custom root CA certificates into `/usr/local/share/ca-certificates/custom/`\n- run `update-ca-certificates`\n- rebuild the image\n- if the core LM path works but this error only appears during web-enabled runs, keep **Web Search** disabled on the LM node and move those tasks to **Codex Pro Tool**\n\n### `Codex could not find system bubblewrap at /usr/bin/bwrap`\n\nThis warning does not always block requests. Codex can often fall back to the vendored `bubblewrap`.\n\nIf you want to avoid the warning:\n\n- install `bubblewrap` in the image\n- verify whether it is actually available under `bwrap` on `PATH`\n\n### Read-only filesystem warnings from Codex\n\nWarnings such as cache TTL renewal failures or rollout recording failures can appear when parts of Codex state live on a read-only mount.\n\nThese warnings do not necessarily mean the request failed. If `codex exec` still returns a normal answer, the node can continue working.\n\n## Handling Codex path detection\n\nThe recommended path for users is:\n\n- leave **Codex Binary Path** empty and rely on auto-detection\n- or point to the Codex wrapper script (`.../@openai/codex/bin/codex.js`), not the vendored platform binary\n\nThat makes upgrades easier because the wrapper script remains the stable entrypoint while the internal platform binary path may change between Codex releases.\n\nIf auto-detection fails in Docker, you can set the explicit wrapper path manually. For example:\n\n```text\n/opt/nodejs/node-v24.13.1/lib/node_modules/@openai/codex/bin/codex.js\n```\n\n## Manual package install\n\nManual `npm install` into n8n custom folders is still possible, but it is no longer the recommended path for most users. Prefer installing the package from **Community Nodes** and only configuring the Codex runtime yourself.\n\n## Caveats\n\n- This wraps the Codex CLI. It is not the same as calling the OpenAI Responses API directly.\n- Behavior depends on the installed Codex CLI version.\n- If n8n runs in Docker, the container needs both the `codex` binary and access to the correct `auth.json`.\n- Installing from Community Nodes does not replace the need to build the right Docker image or mount `CODEX_HOME`.\n- `1.0.4` intentionally separates the stable LM path from the explicit tool path. Use the tool node when you want Codex behavior to be more isolated or more permissive than the main LM node.\n","readmeFilename":"README.md"}