Go: ./main.go:5:2: "os" imported and not used
The file imports a package that no code in that file uses; Go treats this as a compile error, not a warning.
imported and not used"os" imported and not usedimported and not used: "fmt"./main.go: imported and not used Meaning
Remove the import, or use it. If you import only for side effects (database drivers, image/png), use the blank identifier _. Tools like goimports or gopls add and remove imports on save.
Common causes
- Import left over after refactoring
- Debug code (fmt.Println) removed but import stays
- Package used only in commented-out code
- Driver needed for side effects only
- Name collision with a local variable
⚡ Quick fix
- Delete the unused import line
- Use
goimports -w .to fix automatically - For side effects write
import _ "github.com/lib/pq"
Detailed fix by platform
Go
go install golang.org/x/tools/cmd/goimports@latest && goimports -w .
How to diagnose
- Import — Which package named?
- Use — Referenced in this file?
- Side effect — Blank import intended?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- assignment mismatch: 1 variable but f returns 2 values Go: assignment mismatch: 1 variable but os.Open returns 2 values
- cannot assign to struct field m[k].f in map Go: cannot assign to struct field users["bob"].Age in map
- cannot use x as type in assignment/argument Go: cannot use "5" (untyped string constant) as int value in argument to f
Most viewed in Go
- invalid memory address or nil pointer dereference Go: panic: runtime error: invalid memory address or nil pointer dereference
- all goroutines are asleep - deadlock Go: fatal error: all goroutines are asleep - deadlock!
- no new variables on left side of := Go: ./main.go:9:6: no new variables on left side of :=
Other ways to find it
Where this error sits
Origin: Application & API. Errors that are often confused with or caused by this one (click to open):
🧠 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.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 4 Nov 2026