hashicorp/vault · warning · Error
Given param is not a supported tool action
Error message
Given param is not a supported tool action
What it means
Thrown by the tools route model (ui/app/routes/vault/cluster/tools/tool.js:15). The route validates the selected_action URL segment against the fixed list from the tools-actions helper: wrap, lookup, unwrap, rewrap, random, hash. Anything else fails the includes() check and throws instead of rendering a tool form.
Source
Thrown at ui/app/routes/vault/cluster/tools/tool.js:15
/**
* Copyright IBM Corp. 2016, 2025
* SPDX-License-Identifier: BUSL-1.1
*/
import Route from '@ember/routing/route';
import { toolsActions } from 'vault/helpers/tools-actions';
export default Route.extend({
model(params) {
const supportedActions = toolsActions();
if (supportedActions.includes(params.selected_action)) {
return params.selected_action;
}
throw new Error('Given param is not a supported tool action');
},
setupController(controller, model) {
this._super(...arguments);
controller.set('selectedAction', model);
},
actions: {
didTransition() {
const params = this.paramsFor(this.routeName);
/* eslint-disable-next-line ember/no-controller-access-in-routes */
this.controller.setProperties(params);
return true;
},
},
});
View on GitHub (pinned to 744b611b57)
Solutions
- Use one of the supported tool actions: wrap, lookup, unwrap, rewrap, random, or hash
- Navigate via Tools in the UI sidebar so the action link is always a valid one
- Update stale bookmarks or links pointing at unsupported action names
Defensive patterns
Strategy: validation
Validate before calling
const TOOLS_ACTIONS = ['wrap', 'lookup', 'unwrap', 'rewrap', 'random', 'hash'];
if (!TOOLS_ACTIONS.includes(params.selected_action)) {
this.router.transitionTo('vault.cluster.tools'); // bounce to the tool picker instead of throwing
} Type guard
import { toolsActions } from 'vault/helpers/tools-actions';
function isSupportedToolAction(action: string): boolean {
return toolsActions().includes(action as never);
} Try / catch
try {
await this.router.transitionTo('vault.cluster.tools.tool', action);
} catch (e) {
if (e.message === 'Given param is not a supported tool action') {
this.router.transitionTo('vault.cluster.tools');
} else {
throw e;
}
} Prevention
- Link to tool pages only with names from the tools-actions helper list
- Regenerate bookmarks/links after Vault UI upgrades in case tool names change
When it happens
Trigger: Navigating to /ui/vault/tools/<action> where <action> is not one of wrap|lookup|unwrap|rewrap|random|hash — a typo, an outdated link, or a tool removed/renamed across versions.
Common situations: Bookmarked or shared links to tool sub-pages that no longer match the supported list; users hand-editing the URL; documentation written for a different Vault version.
Related errors
- A record already exists with the name: ${name}
- Vault expects data to be formatted as an JSON object.
- Password reset is not available for the current user.
- Invalid URL
- Missing required query params
AI-assisted analysis of hashicorp/vault@744b611b57 (2026-08-15).
Data as JSON: /api/errors/d1b5e0115558b524.
Report an issue: GitHub.