Your agent hit a wall. Here’s the two-minute fix.

Cloud sandboxes like Codex turn off most of the internet while your agent works — so it either couldn’t download BasedAgents mid-task, or installed it fine and then couldn’t reach api.basedagents.ai. Set things up once — after that, it never happens again.

  1. Get BasedAgents installed while the internet is still on

    Two ways — either one works. Pick whichever is easier for you:

    A. Commit it to the project (no Codex settings needed). On your own computer, run this in the project folder and push the change:

    npm install --save-dev basedagents

    Or give it to your agent as its own task — paste this, whole, so the task ends with your next step instead of a silent “done”:

    Add basedagents as a devDependency: run
    npm install --save-dev basedagents
    then commit package.json and package-lock.json and push.
    This is step zero — installing changes nothing visible yet.
    End your reply by reminding me to start a NEW task and paste
    the step-3 prompt from basedagents.ai/codex.

    Codex installs your project’s dependencies during environment setup, while the internet is still on — so it’s on disk for every future task automatically. Installing is step zero, not setup — nothing visible happens until your agent runs the step 3 prompt in a new task.

    B. Or use the environment’s Setup script. In Codex, open your environment settings (Environments → this project → Edit), find the Setup script field, add the same line, and save:

    npm install --save-dev basedagents

    This goes in the settings screen — not in a message to your agent. By the time your agent can run commands, the internet is already off, so the same line pasted into the chat fails with the exact error that sent you here.

  2. Allow two domains

    Needed with either option above. In the environment settings, add these to the environment’s allowed domains:

    api.basedagents.ai
    app.basedagents.ai
  3. Start a new task and ask again

    Open a fresh task and paste:

    Set up BasedAgents Keyring — open source (npm: basedagents ·
    github.com/maxfain/basedagents · docs: basedagents.ai/docs/agents).
    It should already be installed here, so don't install anything from
    npm — this sandbox blocks it. First check:
    ls node_modules/.bin/basedagents
    - If it exists, run: npx basedagents keyring init
      It should create a local vault — or reuse an existing one untouched;
      re-running is safe — register your agent ID, and print a link for me
      to take control in my browser. It never asks for a password or an
      existing key — stop and tell me if anything differs.
    - If it is missing, the install didn't run during setup. Don't work
      around it — tell me in your own words (keep the URL exact): re-do
      step 1 at basedagents.ai/codex, in the environment settings or the
      repo, not in this chat; then I start a new task.
    - If init can't reach api.basedagents.ai, tell me (URL exact): allow
      api.basedagents.ai and app.basedagents.ai in the environment's
      allowed domains — step 2 at basedagents.ai/codex — then I start a
      new task.

    This time it installs nothing over the network — it’s already there. Your agent sets up its keyring and hands you a link to finish at app.basedagents.ai/start.

Which steps do you actually need? If your agent hit an npm error (E403), do all three. If it said the install worked but it couldn’t reach api.basedagents.ai, you only need step 2 — then start a new task (step 3). Anything your agent already set up locally is saved; asking again is safe.
How to know step 1 worked: the new task’s Environment setup log (the black panel at the top) will show basedagents being installed. If it still ends with “No installations were performed”, step 1 didn’t take on the environment this task uses — and your agent will now tell you exactly that, instead of sending you back to this page.

Why this happens, in depth (for the technically curious — or your agent): the sandbox guide.