Parameterization of inverse gamma prior in Bayesian methods For a prior of $\sigma^2 \sim IG(0.01, 0.01)$, often recommended as an uninformative prior for the variance parameter in MCMC approaches and other Bayesian methods, which parameterization does this recommendation correspond to?
Is it shape/scale or shape/rate? That is, in R, would it be invgamma::dinvgamma(sigma, shape = 0.01, scale = 0.01) or invgamma::dinvgamma(sigma, shape = 0.01, rate = 0.01)?

TLDR: The recommendation for an Inverse Gamma prior on variance parameters uses the shape/scale parameterization. But take care with the invgamma package which seems to have mixed up rate and scale.

I can see why the parameterization is confusing if you use the invgamma package: In its documentation the Inverse Gamma density is written as

f(x) = rate^shape/Gamma(shape) x^(-1-shape) e^(-rate/x)

In the Wikipedia article on the Inverse Gamma distribution, the pdf is of course the same:
$$ f(x) = \beta^\alpha/\Gamma(\alpha) x^{-\alpha-1}\exp(-\beta/x) $$
but the $\beta$ parameter is described as the scale.
Wikipedia gets it right: $\beta$ is the "scale", not the "rate" of the Inverse Gamma. This is the standard parameterization.
It may be helpful to reason about this by simply plotting the density. Note that I use the invgamma package which seems to have mixed up scale and rate.

The pdf on the right doesn't look like the density of a "noninformative" prior as it puts all its mass on large values of $x$. So if you use the invgamma package (better not?), you would specify the "rate"; if you use another implementation, you would specify the scale.
And for more up-to-date prior recommendations, take a look at the Stan documentation: Prior Choice Recommendations. This guide has five levels of priors, from flat to specific informative.
For example the recommendations for a weakly informative prior on a scale parameter, such as the variance, include an exponential with expected value 10, a half-normal (0,10) and a half-Cauchy(0,5).

library("invgamma")

par(mfrow = c(1, 2))
curve(
  dinvgamma(x, shape = 0.01, rate = 0.01),
  main = "shape = 0.01, rate = 0.01",
  from = 0.0001, to = 1.5, n = 10001, font.main = 1,
  xlim = c(0, 1.5), ylab = "f(x)", yaxs = "i"
)
curve(
  dinvgamma(x, shape = 0.01, scale = 0.01),
  main = "shape = 0.01, scale = 0.01",
  from = 0.0001, to = 1.5, n = 10001, font.main = 1,
  xlim = c(0, 1.5), ylab = "f(x)", yaxs = "i"
)

