aaif-goose/goose · warning
Missing required parameter: cmd
Error message
Missing required parameter: cmd
What it means
Thrown by the deeplink generator page when the query string matches neither the built-in branch (cmd=goose plus an arg 'mcp') nor the remote branch (a url param), and also has no cmd parameter. cmd is the entry point of the stdio fallback branch (command plus args joined into one command string), so without it the page cannot build any server config and throws. The catch block renders the message inline via setError.
Source
Thrown at documentation/src/pages/deeplink-generator.tsx:134
});
urlParams.getAll('header').forEach(header => {
const separatorIndex = header.indexOf('=');
if (separatorIndex > 0) {
server.headers.push({
name: header.slice(0, separatorIndex),
description: header.slice(separatorIndex + 1),
required: true,
});
}
});
const link = generateDeeplink(server);
handleGeneratedLink(link, true);
return;
}
const cmd = urlParams.get('cmd');
if (!cmd) {
throw new Error('Missing required parameter: cmd');
}
const args = urlParams.getAll('arg') || [];
const command = [cmd, ...args].join(' ');
const id = urlParams.get('id');
const name = urlParams.get('name');
const description = urlParams.get('description');
if (!id || !name || !description) {
throw new Error('Missing required parameters. Need: id, name, and description');
}
const server: ServerConfig = {
is_builtin: false,
type: 'stdio',
id,
name,
description,View on GitHub (pinned to 3810898a74)
Solutions
- Add the command parameter, e.g. ?cmd=npx&arg=-y&arg=some-mcp-server plus id/name/description
- If you meant a built-in extension, use ?cmd=goose&arg=mcp&arg=<extensionId> instead
- If you meant a remote server, replace cmd with url= plus id/name/description
Defensive patterns
Strategy: validation
Validate before calling
const cmd = new URLSearchParams(window.location.search).get('cmd');
const hasCmd = Boolean(cmd); Try / catch
} catch (error) {
setError(error instanceof Error ? error.message : 'Invalid query string');
} Prevention
- Include cmd for stdio links, url= for remote links, cmd=goose&arg=mcp&arg=<id> for built-ins
- Double-check parameter names (cmd, arg, url, id, name, description) against the page's contract
- Never assume args alone imply a command
When it happens
Trigger: Loading ?id=x&name=y&description=z (metadata but no cmd); loading ?arg=npx&arg=some-server without cmd; a typo'd or empty param like ?cmdd=npx or ?cmd=.
Common situations: Copying only the tail of a generator URL and losing the cmd param; assuming the page infers the command from arg values; using a parameter name the page does not read (e.g. command= instead of cmd=).
Related errors
- Missing extension ID in args
- Missing required parameters. Need: id, name, and description
- Resource '${fallbackUri}' returned no contents
- Unknown provider: ${providerId}
- Unsupported extension type for ACP: ${config.type}
AI-assisted analysis of aaif-goose/goose@3810898a74 (2026-08-16).
Data as JSON: /api/errors/c40f523871ae9a82.
Report an issue: GitHub.