I don’t know what package and function you are using to fit your tobit model (this is why a reproducible example would really help!), but since different packages are written by different authors, the structure of the model object is not always the same. So the model object might return something differently structured than you expect when you call fitted() and resid() (assuming, as @tbradley points out, that it has been designed to respond to those functions at all! Sometimes package authors go their own way...)
To dig into this yourself, you might try running:
str(tobit_1)
str(fitted(tobit_1))
str(resid(tobit_1))
(At least one of these lines may return an error)
However, if you’re not used to looking at the structure of R objects, you might not find the results very illuminating.
On the “common things are common” principle, are you using VGAM::vgam() to fit your tobit? If so, this worked example (including plotting) might be helpful:
https://stats.idre.ucla.edu/r/dae/tobit-models/
You’ll notice that when they plot the fitteds vs residuals, they do have to use slightly different selectors to access the values from the structures returned by fitted() and resid().