usebruno/bruno · error · Error

Not able to locate item

Error message

Not able to locate item

What it means

Error "Not able to locate item" thrown in usebruno/bruno.

Solutions

  1. Reload the collection so the item list matches disk state.
  2. Check the item was not renamed or deleted outside Bruno.

When it happens

Trigger: Thrown at packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js:225 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13). Data as JSON: /api/errors/c02df72c274068a0. Report an issue: GitHub.

Appendix: source

Thrown at packages/bruno-app/src/providers/ReduxStore/slices/collections/actions.js:225

  });
};

export const saveFile = (content, itemUid, collectionUid, silent = false) => async (dispatch, getState) => {
  const state = getState();
  const collection = findCollectionByUid(state.collections.collections, collectionUid);
  const tempDirectory = state.collections.tempDirectories?.[collectionUid];

  if (!collection) {
    throw new Error('Collection not found');
  }

  const collectionCopy = cloneDeep(collection);
  const item = findItemInCollection(collectionCopy, itemUid);

  // Item is not used to save the bru file
  // This is to validate if the bru content is associated with a valid item
  if (!item) {
    throw new Error('Not able to locate item');
  }

  const isTransient = tempDirectory && item.pathname.startsWith(tempDirectory);
  if (isTransient) {
    if (!silent) {
      dispatch(addSaveTransientRequestModal({ item, collection }));
    }
    throw new Error('Cannot save transient request');
  }

  const { ipcRenderer } = window;
  try {
    if (['http-request', 'graphql-request'].includes(item?.type)) {
      let json = await ipcRenderer.invoke('renderer:convert-to-json', item, content, collection.format);
      delete json.isTransient;
      await itemSchema.validate(json);
    }
  } catch (err) {

View on GitHub (pinned to 9bdd81c7bd)