# file_unreachable

> An archive file is not reachable from the entry module through imports.

An archive file is not reachable from the entry module through imports.

| | |
| --- | --- |
| Kind | Build or validation problem |
| Reported by | Archive validation (registry, room hosts, disko publish) |
| `disko` exit code | 1 (problems) |

The archive contains a file that is not reachable from the entry module
through imports. An archive holds exactly `game.json` plus every module and
asset reachable from `entry`, and nothing else.

## Why it happens

Archive validation reports this code: the registry on upload and room hosts
before loading. `disko publish` only packages reachable files, so you see it
for archives built or edited by other tools.

## Wrong

```sh
# Adding a file to an archive by hand
tar -czf release.tgz game.json src/main.js notes.txt
```

## Right

```sh
disko publish --dry-run --out release.tgz
```

To ship an asset, import it from a module; unimported files are never
packaged.

## See also

- [Assets](/games/assets)
- [Publish a release](/get-started/publish)
