{"record":{"id":"0c1ccbe899902ce3","repo":"freqtrade/freqtrade","slug":"directory-folder-does-not-exist-please-use-f","errorCode":null,"errorMessage":"Directory `{folder}` does not exist. Please use `freqtrade create-userdir` to create a user directory","messagePattern":"Directory `(.+?)` does not exist\\. Please use `freqtrade create-userdir` to create a user directory","errorType":"exception","errorClass":"OperationalException","httpStatus":null,"severity":"error","filePath":"freqtrade/configuration/directory_operations.py","lineNumber":75,"sourceCode":"    sub_dirs = [\n        \"backtest_results\",\n        \"data\",\n        USERPATH_HYPEROPTS,\n        \"hyperopt_results\",\n        \"logs\",\n        USERPATH_NOTEBOOKS,\n        \"plot\",\n        USERPATH_STRATEGIES,\n        USERPATH_FREQAIMODELS,\n    ]\n    folder = Path(directory)\n    chown_user_directory(folder)\n    if not folder.is_dir():\n        if create_dir:\n            folder.mkdir(parents=True)\n            logger.info(f\"Created user-data directory: {folder}\")\n        else:\n            raise OperationalException(\n                f\"Directory `{folder}` does not exist. \"\n                \"Please use `freqtrade create-userdir` to create a user directory\"\n            )\n\n    # Create required subdirectories\n    for f in sub_dirs:\n        subfolder = folder / f\n        if not subfolder.is_dir():\n            if subfolder.exists() or subfolder.is_symlink():\n                raise OperationalException(\n                    f\"File `{subfolder}` exists already and is not a directory. \"\n                    \"Freqtrade requires this to be a directory.\"\n                )\n            subfolder.mkdir(parents=False)\n    return folder\n\n\ndef copy_sample_files(directory: Path, overwrite: bool = False) -> None:","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/freqtrade/freqtrade/blob/1c8edfe4d1e8d11bd4b40e8fc3237c26c3a60e15/freqtrade/configuration/directory_operations.py#L57-L93","documentation":"Raised by `create_datadir()`-adjacent logic in directory_operations when the user-data directory does not exist and `create_dir` is False. Freqtrade needs `user_data/` with standard subfolders (strategies, data, hyperopts, ...) before it can run.","triggerScenarios":"Starting the bot/backtest with `--userdir` pointing to a missing path in a context that must not auto-create it (e.g. `freqtrade list-strategies` validation); `folder.is_dir()` is false and `create_dir` is False.","commonSituations":"Fresh clone where `freqtrade create-userdir --userdir user_data` was never run; typo in `--userdir`; running from the wrong working directory with a relative path.","solutions":["Run `freqtrade create-userdir --userdir user_data`","Or fix the `--userdir` path / typo in the config's `user_data_dir` setting","Use an absolute path to avoid cwd-dependent resolution"],"exampleFix":"# before\nfreqtrade list-strategies --userdir user_dat  # typo\n\n# after\nfreqtrade create-userdir --userdir user_data\nfreqtrade list-strategies --userdir user_data","handlingStrategy":"validation","validationCode":"from pathlib import Path\nud = Path('user_data')\nif not ud.is_dir():\n    raise SystemExit('run: freqtrade create-userdir --userdir user_data')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always run `freqtrade create-userdir` once after cloning","Pin `user_data_dir` in the config with an absolute path","In docker, ensure the user_data volume is mounted before start"],"tags":["filesystem","user-data","cli"],"backgroundTag":null,"analyzedSha":"1c8edfe4d1e8d11bd4b40e8fc3237c26c3a60e15","analyzedAt":"2026-08-15T05:09:08.096Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}