JETSTREAM "Unable to locate file in Vite manifest: resources/css/app.css." ERROR
Stefan Bogdanescu
Founder & Senior Architect · 2026-06-29
# Solving the Jetstream Build Error: "Unable to locate file in Vite manifest: resources/css/app.css."
Welcome to the world of Laravel and Jetstream! Setting up a new project can sometimes feel like navigating a complex maze, especially when dealing with frontend tooling like Vite. If you are encountering the error **"JETSTREAM 'Unable to locate file in Vite manifest: resources/css/app.css.'"** during the installation of a new Jetstream project, don't worry—this is a very common configuration issue, not a fundamental flaw in Laravel itself.
As a senior developer, I’ve seen this error crop up often when setting up boilerplate projects that rely heavily on modern asset bundling tools like Vite. This post will walk you through the likely cause of this specific error and provide the exact steps needed to resolve it so you can successfully start building your application.
---
## Understanding the Root Cause: Vite and Manifest Files
To understand the error, we first need to understand what is happening under the hood. Laravel Jetstream leverages **Vite**, a modern build tool, to handle asset compilation (like CSS and JavaScript). When you run a command like `npm run dev` or when the installer runs its internal scripts, Vite generates a manifest file that tells the browser exactly where to find the compiled assets.
The error message indicates that the Jetstream installer is looking for a specific CSS file (`resources/css/app.css`) within this manifest but cannot locate it. This usually means one of two things:
1. **Missing or Incorrect Asset Path:** The structure of the project files does not match what the Jetstream installation script expects.
2. **Vite Configuration Conflict:** The `vite.config.js` file is either missing or incorrectly configured, preventing Vite from correctly mapping the source files to the output manifest.
## Step-by-Step Solutions
Since you are new to this process, let's tackle this with clear, actionable steps. Follow these solutions sequentially until your setup succeeds.
### 1. Verify Project Structure and Initialization
The most common fix involves ensuring you are starting from a clean slate and following the official installation procedures precisely.
**Action:** Instead of manually running commands in an arbitrary folder, ensure you are using the standard Laravel command structure. If you used `laravel new project --jet`, try setting up the project environment again by following the recommended setup for your specific Jetstream version.
Ensure that after creating the base project, you run all necessary frontend dependency installations:
```bash
composer install
npm install
npm run dev
```
If the error persists, it often points to an issue during the initial bootstrap phase where asset linking fails. We recommend always referencing the official documentation for the most up-to-date setup guides provided by **[laravelcompany.com](https://laravelcompany.com)**.
### 2. Inspect and Correct `vite.config.js`
If the file structure seems correct, the issue is likely within your Vite configuration. The `vite.config.js` file needs to correctly point to where your entry CSS files reside.
**Action:** Open your `vite.config.js` file (located in the root of your project) and ensure it follows a standard setup that correctly handles asset paths. For a typical Laravel setup, this configuration should look similar to this:
```javascript
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: [
'resources/css/app.css', // Ensure this path is correct
'resources/js/app.js',
],
}),
],
});
```
**Why this matters:** By explicitly listing the `input` files, you tell Vite exactly which files to process and generate the manifest for, directly resolving the "Unable to locate file" error.
### 3. Reinstall Dependencies (The Clean Slate Approach)
If configuration checks fail, a clean reinstallation often resolves latent dependency issues. This forces npm/Vite to regenerate all necessary manifest files from scratch based on the current code structure.
**Action:** Delete your existing `node_modules