Issue Summary
I am facing 2 issue
- 1 is i did some updates now i am unable to login on admin.
- 2 main issue i have tried to debug is when ever i create a new post it start updating my previous post instead of creating new post.
Steps to Reproduce
- trying to login on admin it shows some errors unable to login
Setup information
Ghost Version
Ghost Version: 5.130.5
Node.js Version
Node Version: v18.20.8
How did you install Ghost?
self-hosted
Provide details of your host & operating system
OS: Ubuntu, v22.04.5 LTS
Database type
MySQL 5.7 / MySQL 8 / SQLite 3 / Other
Browser & OS version
Chrome, on Macbook
Relevant log / error output
Process manager ‘[object Object]’ does not exist, defaulting to ‘local’
[2026-01-08 14:52:14] INFO “GET /blog/ghost/assets/vendor-aed0068cf9b67d042dd23a6343545b7b.js” 200 91ms
[2026-01-08 14:52:15] INFO “GET /blog/ghost/assets/chunk.524.4950f5af0a97db42aa14.js” 200 2ms
[2026-01-08 14:52:29] ERROR “GET /blog/ghost/api/admin/users/me/” 403 249ms
NAME: NoPermissionError
MESSAGE: Authorization failed
level: normal
“Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication.”
NoPermissionError: Authorization failed
at authorizeAdminApi (/var/www/blogredsec/versions/5.130.5/core/server/services/auth/authorize.js:33:25)
at Layer.handle [as handle_request] (/var/www/blogredsec/versions/5.130.5/node_modules/express/lib/router/layer.js:95:5)
at next (/var/www/blogredsec/versions/5.130.5/node_modules/express/lib/router/route.js:149:13)
at authenticate (/var/www/blogredsec/versions/5.130.5/core/server/services/auth/session/middleware.js:55:13)
[2026-01-08 14:52:30] INFO “GET /blog/sitemap-posts.xml” 200 700ms
[2026-01-08 14:52:31] INFO “GET /blog/ghost/api/admin/site/” 200 8ms
[2026-01-08 14:52:32] ERROR “GET /blog/ghost/api/admin/users/me/” 403 9ms
NAME: NoPermissionError
MESSAGE: Authorization failed
level: normal
“Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication.”
NoPermissionError: Authorization failed
at authorizeAdminApi (/var/www/blogredsec/versions/5.130.5/core/server/services/auth/authorize.js:33:25)
at Layer.handle [as handle_request] (/var/www/blogredsec/versions/5.130.5/node_modules/express/lib/router/layer.js:95:5)
at next (/var/www/blogredsec/versions/5.130.5/node_modules/express/lib/router/route.js:149:13)
at authenticate (/var/www/blogredsec/versions/5.130.5/core/server/services/auth/session/middleware.js:55:13)
[2026-01-08 14:52:33] INFO “GET /blog/ghost/assets/admin-x-settings/index-2296f2a2.mjs” 404 3ms
[2026-01-08 14:52:33] INFO “GET /blog/ghost/api/admin/site/” 200 3ms
[2026-01-08 14:52:42] INFO “GET /blog/ghost/api/admin/authentication/setup/” 200 17ms
[2026-01-08 14:52:43] INFO “GET /blog/content/images/2024/12/favicon.png” 200 6ms
[2026-01-08 14:53:58] INFO Updating incoming recommendations on boot
[2026-01-08 14:54:38] INFO “GET /blog/ghost/assets/ghost-e474a058646b6df157de25ea1cd978d5.css” 200 13ms
[2026-01-08 14:54:40] INFO “GET /blog/ghost/assets/ghost-87050e029016fb4f1579d673a964b223.map” 404 1ms
[2026-01-08 14:54:40] INFO “GET /blog/ghost/assets/chunk.524.4950f5af0a97db42aa14.map” 404 3ms
[2026-01-08 14:54:41] INFO “GET /blog/ghost/assets/chunk.728.985c45ad584b4b91ca60.map” 404 2ms
[2026-01-08 14:54:42] INFO “GET /blog/ghost/assets/vendor-326b46cbc2845d47f1e0af43ba21caec.map” 404 1ms
[2026-01-08 14:55:58] INFO [Recommendations] Updating recommendations metadata
[2026-01-08 14:56:35] WARN
MESSAGE: Query Error: unexpected character in filter at char 6
tags:
+id:-67d4c2a462038c
------^
Expecting ‘NULL’, ‘TRUE’, ‘FALSE’, ‘NUMBER’, ‘NOW’, ‘LITERAL’, ‘STRING’, got ‘RBRACKET’
Error: Query Error: unexpected character in filter at char 6
tags:
+id:-67d4c2a462038c
------^
Expecting ‘NULL’, ‘TRUE’, ‘FALSE’, ‘NUMBER’, ‘NOW’, ‘LITERAL’, ‘STRING’, got ‘RBRACKET’
at parser.parseError (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/dist/parser.js:359:12)
at Parser.parse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/dist/parser.js:276:22)
at exports.parse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/lib/nql.js:18:44)
at optimiseFilterCacheability (/var/www/blogredsec/versions/5.130.5/core/frontend/helpers/get.js:144:38)
at makeAPICall (/var/www/blogredsec/versions/5.130.5/core/frontend/helpers/get.js:217:9)
at Object.get (/var/www/blogredsec/versions/5.130.5/core/frontend/helpers/get.js:296:32)
at Object.returnAsync (/var/www/blogredsec/versions/5.130.5/core/frontend/services/helpers/handlebars.js:16:39)
at Object.resolveFunc (/var/www/blogredsec/versions/5.130.5/node_modules/express-hbs/lib/hbs.js:381:19)
at /var/www/blogredsec/versions/5.130.5/node_modules/express-hbs/lib/resolver.js:19:7
at new Promise ()
at Object.resolve (/var/www/blogredsec/versions/5.130.5/node_modules/express-hbs/lib/resolver.js:17:15)
at Object. (/var/www/blogredsec/versions/5.130.5/node_modules/express-hbs/lib/hbs.js:384:23)
at Object.wrapper (/var/www/blogredsec/versions/5.130.5/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js:15:19)
at Object.eval [as main] (eval at createFunctionContext (/var/www/blogredsec/versions/5.130.5/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:262:23), :10:126)
at main (/var/www/blogredsec/versions/5.130.5/node_modules/handlebars/dist/cjs/handlebars/runtime.js:208:32)
at ret (/var/www/blogredsec/versions/5.130.5/node_modules/handlebars/dist/cjs/handlebars/runtime.js:212:12)
[2026-01-08 14:56:35] ERROR
NAME: BadRequestError
MESSAGE: Error parsing filter
level: normal
Error: Query Error: unexpected character in filter at char 7
at Child.applyDefaultAndCustomFilters (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/bookshelf-filter/lib/bookshelf-filter.js:68:23)
(tags:
+id:-67d4c2a462038c
-------^
Expecting ‘NULL’, ‘TRUE’, ‘FALSE’, ‘NUMBER’, ‘NOW’, ‘LITERAL’, ‘STRING’, got ‘RBRACKET’
at parser.parseError (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/dist/parser.js:359:12)
at Parser.parse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/dist/parser.js:276:22)
at exports.parse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/nql-lang/lib/nql.js:18:44)
at api.parse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/bookshelf-filter/node_modules/@tryghost/nql/lib/nql.js:33:31)
at api.querySQL (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/bookshelf-filter/node_modules/@tryghost/nql/lib/nql.js:77:44)
at Builder. (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/bookshelf-filter/lib/bookshelf-filter.js:65:24)
at Object.query (/var/www/blogredsec/versions/5.130.5/node_modules/bookshelf/lib/helpers.js:164:14)
at Child.query (/var/www/blogredsec/versions/5.130.5/node_modules/bookshelf/lib/model.js:1387:22)
at Child.applyDefaultAndCustomFilters (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/bookshelf-filter/lib/bookshelf-filter.js:57:22)
at Function.getFilteredCollection (/var/www/blogredsec/versions/5.130.5/core/server/models/base/plugins/filtered-collection.js:13:32)
at Function.findPage (/var/www/blogredsec/versions/5.130.5/core/server/models/base/plugins/crud.js:83:41)
at PostsService.browsePosts (/var/www/blogredsec/versions/5.130.5/core/server/services/posts/PostsService.js:35:46)
at Object.query (/var/www/blogredsec/versions/5.130.5/core/server/api/endpoints/posts-public.js:116:33)
at Object.query (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/api-framework/lib/pipeline.js:159:24)
at getResponse (/var/www/blogredsec/versions/5.130.5/node_modules/@tryghost/api-framework/lib/pipeline.js:259:47)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
.