Do you have a value for getOption("Seurat.object.assay.calcn") ?
Can you try recreating the object in a fresh session? What if you explicitly set: options(Seurat.object.assay.calcn = TRUE) before running CreateSeuratObject()?
To make sure you're in an isolated environment, you can try running a minimal example in reprex:
library(Seurat)
#> Loading required package: SeuratObject
#> Loading required package: sp
#>
#> Attaching package: 'SeuratObject'
#> The following object is masked from 'package:base':
#>
#> intersect
cnts <- matrix(c(0,0,1,0,2,0,0,0,0),
nrow = 3,
dimnames=list(letters[1:3], LETTERS[1:3])) |>
as("dgCMatrix")
obj <- CreateSeuratObject(counts = cnts)
head(obj)
#> orig.ident nCount_RNA nFeature_RNA
#> A SeuratProject 1 1
#> B SeuratProject 2 1
#> C SeuratProject 0 0
It seems that I had a problem with the tidyverse, its was not the newest version, and after updating the CreateSeuratObject() function worked perfectly.