[Bug]: failure to create a category with "Category "..." already exists in group (it may be hidden)" #2898

Closed
opened 2026-02-28 20:32:01 -06:00 by GiteaMirror · 7 comments
Owner

Originally created by @onestay on GitHub (Feb 6, 2026).

What happened?

When trying to create a second category within any group, an error appears: Category "test" already exists in group (it may be hidden). Creating the first category in a group works fine, but any subsequent category creation in the same group fails with this error — regardless of the category name. This occurs on a completely fresh installation with no imported data.

Image

How can we reproduce the issue?

  1. Deploy a fresh Actual Budget instance with the following Docker Compose:
services:
  actual_server:
    image: ghcr.io/actualbudget/actual-server:edge@sha256:23e1fe7c951bf99a57d0ec5d45a99b82596e9c7844ec7b2ebbefd680c1993e02 # latest edge tag
    volumes:
      - ./data:/data
    healthcheck:
      test: ['CMD-SHELL', 'node src/scripts/health-check.js']
      interval: 60s
      timeout: 10s
      retries: 3
      start_period: 20s
    restart: unless-stopped
    user: 1000:1000
    # same behavior without security options as far as I can see
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
    ports:
      - 5006:5006
  1. Generate self-signed TLS certs and configure them in data/config.json:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt
{
  "https": {
    "key": "/data/selfhost.key",
    "cert": "/data/selfhost.crt"
  }
}
  1. Complete the initial setup (set password, log in)
  2. Start with a blank budget (do not import anything)
  3. Navigate to the Budget page
  4. Click to create a new category under any existing group (e.g., "Usual Expenses")
  5. Enter a name (e.g., "test") and confirm — fails
  6. Expected: The new category is created successfully
  7. Actual: Error message appears: Category "test" already exists in group (it may be hidden)

Note: Creating a new group works fine and creating one category in that new group also works fine. The issue is specifically with creating more than one category per group.

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Firefox

Operating System

Linux

Originally created by @onestay on GitHub (Feb 6, 2026). ### What happened? When trying to create a second category within any group, an error appears: `Category "test" already exists in group (it may be hidden)`. Creating the first category in a group works fine, but any subsequent category creation in the same group fails with this error — regardless of the category name. This occurs on a completely fresh installation with no imported data. <img width="459" height="138" alt="Image" src="https://github.com/user-attachments/assets/b7bf0b5d-557d-4e4e-bba4-078f00357b66" /> ### How can we reproduce the issue? 1. Deploy a fresh Actual Budget instance with the following Docker Compose: ```yaml services: actual_server: image: ghcr.io/actualbudget/actual-server:edge@sha256:23e1fe7c951bf99a57d0ec5d45a99b82596e9c7844ec7b2ebbefd680c1993e02 # latest edge tag volumes: - ./data:/data healthcheck: test: ['CMD-SHELL', 'node src/scripts/health-check.js'] interval: 60s timeout: 10s retries: 3 start_period: 20s restart: unless-stopped user: 1000:1000 # same behavior without security options as far as I can see security_opt: - no-new-privileges:true cap_drop: - ALL cap_add: - CHOWN ports: - 5006:5006 ``` 2. Generate self-signed TLS certs and configure them in `data/config.json`: ```bash openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt ``` ```json { "https": { "key": "/data/selfhost.key", "cert": "/data/selfhost.crt" } } ``` 3. Complete the initial setup (set password, log in) 4. Start with a blank budget (do not import anything) 5. Navigate to the Budget page 6. Click to create a new category under any existing group (e.g., "Usual Expenses") 7. Enter a name (e.g., "test") and confirm — fails 10. **Expected:** The new category is created successfully 11. **Actual:** Error message appears: `Category "test" already exists in group (it may be hidden)` **Note:** Creating a new *group* works fine and creating one category in that new group also works fine. The issue is specifically with creating more than one category per group. ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Firefox ### Operating System Linux
GiteaMirror added the regressiongood first issuebug labels 2026-02-28 20:32:01 -06:00
Author
Owner

@youngcw commented on GitHub (Feb 6, 2026):

Testing on edge gave the same results

@youngcw commented on GitHub (Feb 6, 2026): Testing on edge gave the same results
Author
Owner

@daximus194 commented on GitHub (Feb 11, 2026):

using debian linux source code server install, so everything I do is connected to the server. i did some more testing because i really should have used a known stable version of ab when starting off, but instead just pulled the latest commit and just want to get a budget going before i go broke! when in mobile view, you CAN add categories without the error, so i thought i found a great workaround. BUT, then I noticed the category now existed in all my files. Then when creating a new file, that category was still there as well. Not sure if that's by design or not since I haven't used a known working version of categories, but just an observation. Removing the added category removes from all files as well. I have not tested removing default categories. Documentation implies these categories can be different across files, so it doesn't seem right to me. I can recreate using the following steps:

  1. open file in mobile view on android phone in chrome
  2. add category successfully
  3. open a different file
  4. view budget page and new category already exists
  5. create new file
  6. go immediately to budget and category exists by default
  7. go to same server on desktop windows pc in chrome browser for desktop view, category still exists across all files
  8. adding new category gives error "already exists in group (it may be hidden)"
  9. remove category successfully works, but removes category from all files as well
@daximus194 commented on GitHub (Feb 11, 2026): using debian linux source code server install, so everything I do is connected to the server. i did some more testing because i really should have used a known stable version of ab when starting off, but instead just pulled the latest commit and just want to get a budget going before i go broke! when in mobile view, you CAN add categories without the error, so i thought i found a great workaround. BUT, then I noticed the category now existed in all my files. Then when creating a new file, that category was still there as well. Not sure if that's by design or not since I haven't used a known working version of categories, but just an observation. Removing the added category removes from all files as well. I have not tested removing default categories. Documentation implies these categories can be different across files, so it doesn't seem right to me. I can recreate using the following steps: 1. open file in mobile view on android phone in chrome 2. add category successfully 3. open a different file 4. view budget page and new category already exists 5. create new file 6. go immediately to budget and category exists by default 7. go to same server on desktop windows pc in chrome browser for desktop view, category still exists across all files 8. adding new category gives error "already exists in group (it may be hidden)" 9. remove category successfully works, but removes category from all files as well
Author
Owner

@youngcw commented on GitHub (Feb 12, 2026):

Looks to be caused by #5977

@youngcw commented on GitHub (Feb 12, 2026): Looks to be caused by #5977
Author
Owner

@hyryel commented on GitHub (Feb 12, 2026):

I have this issue too since the update to version 26.2.
I will roll back to previous version waiting for a fix
EDIT: Nevermind, I was in edge version. Rolling back to latest solved the problem

@hyryel commented on GitHub (Feb 12, 2026): I have this issue too since the update to version 26.2. I will roll back to previous version waiting for a fix EDIT: Nevermind, I was in **edge** version. Rolling back to **latest** solved the problem
Author
Owner

@matt-fidd commented on GitHub (Feb 13, 2026):

The workaround for this at the moment is to create a new empty category group, create your new category in there and then move it into your target group. Not ideal I know, but it works!

@matt-fidd commented on GitHub (Feb 13, 2026): The workaround for this at the moment is to create a new empty category group, create your new category in there and then move it into your target group. Not ideal I know, but it works!
Author
Owner

@daximus194 commented on GitHub (Feb 13, 2026):

oh, nice! I was messing with the income budget group and you can't move non-income category items into that group, which makes sense... it would be odd to allow moving a spending budget category into a group with income categories. It's a great workaround, though, with just that minor restriction until a fix comes along. Thanks all for working on this. I'm loving it!

@daximus194 commented on GitHub (Feb 13, 2026): oh, nice! I was messing with the income budget group and you can't move non-income category items into that group, which makes sense... it would be odd to allow moving a spending budget category into a group with income categories. It's a great workaround, though, with just that minor restriction until a fix comes along. Thanks all for working on this. I'm loving it!
Author
Owner

@youngcw commented on GitHub (Feb 20, 2026):

This was fixed at some point this month, I cant find the exact PR though.

@youngcw commented on GitHub (Feb 20, 2026): This was fixed at some point this month, I cant find the exact PR though.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2898