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

  1. Use one of the supported tool actions: wrap, lookup, unwrap, rewrap, random, or hash
  2. Navigate via Tools in the UI sidebar so the action link is always a valid one
  3. 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

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


AI-assisted analysis of hashicorp/vault@744b611b57 (2026-08-15). Data as JSON: /api/errors/d1b5e0115558b524. Report an issue: GitHub.