Drops the in-chat credential-collection flow introduced in e92b245. Agents
can no longer collect API keys via a secure modal — users must add secrets
through OneCLI directly. Keeps the OneCLI manual-approval handler and
threaded-routing work from the same commit intact.
Removed:
* container/agent-runner/src/mcp-tools/credentials.ts (MCP tool)
* src/credentials.ts (host-side modal/OneCLI pipeline)
* src/db/credentials.ts + migration 005 (pending_credentials table)
* src/onecli-secrets.ts (createSecret CLI facade, only caller was credentials.ts)
* findCredentialResponse from agent-runner DB layer
* PendingCredential types
* Four credential hooks from ChannelSetup (getCredentialForModal,
onCredentialReject, onCredentialSubmit, onCredentialChannelUnsupported)
* Credential card/modal handling in chat-sdk-bridge (nccr/nccm prefixes,
Modal/TextInput imports)
* credential_request text fallback in WhatsApp adapter
* request_credential system-action case in delivery.ts
Added:
* Migration 009 drops pending_credentials on existing installs.
Vercel skill now tells the agent to ask the user to register the token via
OneCLI instead of invoking the removed tool.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.3 KiB
name, description
| name | description |
|---|---|
| vercel-cli | Deploy apps to Vercel. Use when asked to deploy, ship, or publish a web application, or manage Vercel projects, domains, and environment variables. |
Vercel CLI
You can deploy web applications to Vercel using the vercel CLI.
Auth
Auth is handled by OneCLI — the HTTPS_PROXY injects the real token into API requests automatically. The Vercel CLI requires a token to be present to skip its local credential check, so always pass --token placeholder on every command. OneCLI replaces this with the real token at the proxy level.
Before any Vercel operation, verify auth:
vercel whoami --token placeholder
If this fails with an auth error, ask the user to add a Vercel token to OneCLI. They can create one at https://vercel.com/account/tokens and register it via onecli secrets create on the host. Once added, retry vercel whoami.
Deploying
Always use --yes to skip interactive prompts and --token placeholder for auth (OneCLI replaces with real token).
# Deploy to production
vercel deploy --yes --prod --token placeholder
# Deploy from a specific directory
vercel deploy --yes --prod --token placeholder --cwd /path/to/project
# Preview deployment (not production)
vercel deploy --yes --token placeholder
After deploying, verify the live URL:
# Check deployment status
vercel inspect <deployment-url> --token placeholder
If you have agent-browser available, open the deployed URL and take a screenshot to visually verify.
Project Management
# Link to an existing Vercel project (non-interactive)
vercel link --yes --token placeholder
# List recent deployments
vercel ls --token placeholder
# List all projects
vercel project ls --token placeholder
Domains
# List domains
vercel domains ls --token placeholder
# Add a domain to the current project
vercel domains add example.com --token placeholder
Environment Variables
# Pull env vars from Vercel to local .env
vercel env pull --token placeholder
# Add an env var (use echo to pipe the value — avoids interactive prompt)
echo "value" | vercel env add VAR_NAME production --token placeholder
Common Errors
| Error | Fix |
|---|---|
Error: No framework detected |
Ensure the project has a package.json with a build script, or set the framework in vercel.json |
Error: Rate limited |
Wait and retry. Don't loop — report to user |
Error: You have reached your project limit |
User needs to upgrade Vercel plan or delete unused projects |
ENOTFOUND api.vercel.com |
Network issue. Check proxy connectivity |
Auth error after vercel whoami |
Credential may be expired. Ask the user to refresh the Vercel token in OneCLI |
Building Websites — Delegate to Frontend Engineer
When asked to build, create, or redesign a website or web app, do NOT build it yourself. Spin up a dedicated frontend-engineer agent that has full context for the job:
create_agent({
name: "Frontend Engineer",
instructions: "You are a dedicated frontend engineer. Your frontend-engineer skill has your full workflow. Build what is requested, test it visually with agent-browser, deploy to Vercel, and send back the live URL + screenshots to your parent agent when done."
})
Then hand off the task:
send_message(to: "Frontend Engineer", text: "<what to build, design requirements, any assets or content>")
The frontend agent will:
- Build the site following pro frontend standards
- Test visually with
agent-browser(screenshots as proof) - Deploy to Vercel using
vercel deploy --yes --prod --token placeholder - Verify the production URL in browser
- Send back the live URL + screenshots
When to delegate vs do it yourself:
- Delegate: building new sites, redesigns, multi-page apps, anything that needs visual testing
- Do yourself: simple
vercel deployof an existing project, checking deployment status, managing domains/env vars
Best Practices
- Run
npm run buildlocally before deploying to catch build errors early - Use
--cwdinstead ofcdto keep your working directory stable - For Next.js projects,
vercel deployauto-detects the framework — no extra config needed - Use
vercel.jsononly when you need custom build settings, rewrites, or headers