A FiveM resource that won't start almost always points to a manifest problem, a missing dependency or a script error. Here's how to read the txAdmin/console output and fix each cause.
Quick answer
"Couldn't load resource" means FiveM could not start that resource. Read the console line right after it — it names the cause, which is almost always an error in fxmanifest.lua, a missing dependency or one started in the wrong order in server.cfg, or a Lua/JS error in the script itself. Fix that and run ensure on the resource again.
The line right after "Couldn't load resource <name>" names the real problem — a missing dependency, a manifest error or a Lua/JS syntax error. Always start there.
The message on the next console line tells you which cause you've hit — match it here, then jump to that fix below:
| Console says something like… | Cause | Fix |
|---|---|---|
| "could not find dependency" / "failed to load script" | Missing framework or library | Ensure the dependency before the resource |
| "no fx_version" / manifest / file not found | fxmanifest.lua error | Fix the manifest and file paths |
| MySQL / connection refused | Database not connected | Correct the mysql_connection_string |
| A file and line number | Lua/JS error in the script | Fix the error on that line, restart |
Cause 1: fxmanifest.lua errors
Modern resources need an fxmanifest.lua (old ones used __resource.lua). A missing fx_version/game line, or a file listed in client_script/server_script that doesn't exist, stops the resource loading. A minimal valid manifest looks like:
fx_version 'cerulean'
game 'gta5'
client_script 'client.lua'
server_script 'server.lua'
shared_script 'config.lua'Cause 2: a missing dependency
Many scripts depend on a framework (es_extended, qb-core) or a library (oxmysql, ox_lib). The dependency must start before the script. Add it to the manifest and make sure it's started first in your server.cfg:
# server.cfg — start order matters
ensure oxmysql
ensure es_extended
ensure my_resourceCause 3: database not connected
If a resource uses MySQL and the connection string is wrong, it fails on start. Check the mysql_connection_string convar in server.cfg points to a database that exists:
set mysql_connection_string "mysql://user:password@127.0.0.1/database?charset=utf8mb4"Cause 4: a script (Lua/JS) error
A syntax error or a runtime error in the resource's own code will stop it. The console prints the file and line — open it, fix the error, and restart the resource with restart my_resource from the console.
The clean checklist
- Read the exact error under "Couldn't load resource".
- Validate
fxmanifest.lua(fx_version, game, real file paths). - Start dependencies (framework, oxmysql) before the resource.
- Verify the MySQL connection string and that the DB exists.
- Fix any Lua/JS error on the file:line the console reports.
- Restart and watch the console for a clean start.
On FiveM, start order is everything: libraries and frameworks must be ensured before the scripts that use them.
More reasons FiveM shows "Couldn't load resource"
Beyond the four causes above: a resource folder nested inside the wrong category path (resources should sit in resources/[category]/resourcename/), two resources sharing the same name and colliding, or a failed txAdmin recipe/deploy that left the resource half-copied. Check the resource folder structure and, in txAdmin, re-run the deployer if a recipe install stopped partway through.
How to prevent "Couldn't load resource" errors
- Keep resources organised in category folders and avoid duplicate resource names.
- Pin dependency versions (framework, oxmysql, ox_lib) instead of always pulling latest.
- Test new or updated resources on a local/dev server before deploying to production.
- Keep your FXServer artifact/build updated — old builds can mis-parse newer manifest syntax.
- Check file/folder ownership on Linux so the FXServer user can actually read the resource files.
Related FiveM errors
If resources load but the server itself crashes, see FiveM CitizenFX crash. If the server won't appear in the in-game list, check FiveM server not showing in list. Players stuck mid-join should read FiveM stuck on connecting/handshake.
FiveM is a Cfx.re / Rockstar Games project. Grand Theft Auto V is a trademark of Rockstar Games / Take-Two Interactive. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Rockstar Games, Take-Two or Cfx.re. You must own a legitimate copy of the game.