FYI: I had this problem initially on v49; before posting I upgraded to v55 and the problem persists.
I've enabled "Model Actions" in the Admin section, and successfully created a Model that is unmodified - just selected an underlying table - and was able to save it just fine. Then going to the Actions tab, there was no "Create Basic Actions" button. So I tried Custom Action and was able to define a SQL custom action (simple "update x set x.a = {{var1}} where pk = {{pkvar}} ) and when clicking "Save", it appears to save OK, but when looking at the model, no actions are listed. I assumed that the actions weren't actually saving, but then I saw in the "actions" DB table that they are indeed created.
I thought perhaps a permissions problem, so repeated test on the Sample Database. This time (and after upgrade to 55) I saw the Create Basic Actions button. But clicking the button had no effect, except that the button text, which had been the light blue link color, turned black and the button is dead. Still no actions listed - but the Create, Update and Delete actions were indeed created in the action DB table.
So it appears that I can create Actions, but not view or execute them.
I've seen similar posts, but no fixes pertinent to me.
Details: Metabase 55, PostgreSQL 14, running the OSS JAR file on Ubuntu 24.04.
Sounds like something in your browser doesn't like you pushing that button.
Open the browser developer tools panel (you might have to enable it in preferences if you're using Safari), switch to the Console tab, then click the button and see if any error messages appear. Especially any messages that say "block" or "blocked" is likely due to overly restrictive adblocker or tracking prevention settings that you may have to disable on your Metabase site.
If there's nothing there revealing, then try clearing cache and restarting your browser to make sure it's running the correct version of the site code.
Thank you, @dwhitemv, it was a good idea. Unfortunately, there was no change.
I've been using Vivaldi (chromium derivative). For the test I created a brand new profile in Firefox and tried again, but with similar results. This time the Actions list says "No actions have been created yet.", but there is also no "Create Basic Actions" button.
I've been wondering if it could be something privileges related? Could the metabase user somehow not have sufficient rights to read back the Action data?
BTW, metabase is currently running as root, which seems to me like a bad idea. I manually restarted it after the upgrade to v55. Maybe it runs as a different user on a clean server restart - I really don't remember.
PS: after switching browsers, reloading the page, etc. I did get the Create Basic Actions button to reappear - not sure what did it.
But I did take the opportunity to open the console. There were no JS messages at all upon button click... which seems really, really unusual to me even for a well written app. I'm used to seeing at least a few deprecation warnings, etc. in other apps. I know that JS is enabled and running in the browser(s). Is zero console output normal?
Metabase expects the app database user to have full DDL and DML permissions within that database/schema. Changing the app database user can cause a whole host of issues if you don't car^W diligently set up the new user with the necessary grants. I would check your app database log for any queries rejected due to permissions if this is your case.
Don't run Metabase as root, that's a recipe for disaster. I would go further and run it in a restricted environment of some kind (container, jail) if possible.
Metabase writes a bunch of files on startup (the plugins/ directory and its contents) that can cause problems down the road if it can't open or write to them later. Make sure the user running Metabase owns plugins/ and any files in it. If you haven't made any changes to the sample database and aren't using any third-party database drivers you can safely delete the directory and Metabase will recreate it on next launch.
Depends on the app, but I would generally expect production web code running to be quiet. Logging lots of data to the console reduces performance.
One note on Basic Actions, the table must have a primary key for Basic Actions to show. If you modify the table and add one you need to run a metadata sync on that DB. If you forget to run the sync, Metabase runs one periodically automatically, and things might magi^W surprisingly change when that happens.