Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Jens-Dev's avatar

Pint - unused imports aren't deleted

  • Pint Version: 1.6
  • PHP Version: 8.2.1
  • Laravel Version: 10 ##Pint Config
{
    "preset": "laravel",
    "rules": {
        "no_unused_imports": true,
        "ordered_imports": true,
        "phpdoc_align": true,
        "phpdoc_order": true,
        "single_line_comment_style": true,
        "single_quote": true,
        "yoda_style": true
    }
}

Description:

Pint does not delete unused imports. Neither with the laravel preset nor if you set it explicitly via no_unused_imports.

I'm not sure if I miss configured something or Pint is simply not Laravel 10 ready, but I can't explain the behavior. My GitHub ticket was closed with the comment: cannot be reproduced. THX for your Support.

Steps To Reproduce:

Code before

<?php

namespace App\Http\Controllers\Api\VetAppointment;

use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

class GetAction extends Controller
{
    /**
     * Handle the incoming request.
     */
    public function __invoke(): JsonResponse
    {
        return response()->json([
            'message' => 'Hello World',
        ]);
    }
}

running pint

Code after

<?php

namespace App\Http\Controllers\Api\VetAppointment;

use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

class GetAction extends Controller
{
    /**
     * Handle the incoming request.
     */
    public function __invoke(): JsonResponse
    {
        return response()->json([
            'message' => 'Hello World',
        ]);
    }
}

and use Illuminate\Http\Request; is still there.

0 likes
5 replies
renatokira's avatar

Suggestions for use

If this is the case do not use import groups for the same namespaces. Disable the group_import option.

 "single_import_per_statement" => true,
 "no_unused_imports"           => true,
1 like
eskiesirius's avatar

Same.. there are times that pint doesn't remove unused import

Please or to participate in this conversation.