Laravel: The GET method is not supported for route x. Supported methods: POST (MethodNotAllowedHttpException)
The URL exists, but not for the HTTP method used — e.g. opening a POST-only route in the browser, or a form sending GET.
Seen on:
Laravel
Meaning
Common after validation failures redirecting back to a POST URL, forms missing method="POST", or using PUT/DELETE without @method in Blade forms. Route caching can also hide new routes.
Common causes
- Visiting a POST route directly in the browser
- Form missing method="POST" or @method('PUT')
- Redirect pointing to a POST-only URL
- Stale route cache
⚡ Quick fix
- Use the right method in forms (@csrf + @method)
- Add a GET route for the page
- Clear route cache
Detailed fix by platform
PHP
- php
<form method="POST" action="{{ route('posts.update', $post) }}"> @csrf @method('PUT') </form>
How to diagnose
- Route — route:list methods
- Form — method/@method
- Redirect — Target URL
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026